71 comments

[ 5.1 ms ] story [ 283 ms ] thread
I was about to clone it and push a patch. But then, I realized how complex the procedure was going to be:

1- clone the repo on github 2- clone the clone locally 3- patch the file 4- commit (with a meaningful commit message) 5- push the patch to the clone on github 6- go to the github web to post a pull request.

Plus, that would leave a trace on my github account (I assume that I could:

7- delete my github clone.

but only after the pull request is acted upon (which even if automatic is bound to take some time during which this github activity could be seen).

The lesson here is that providing small patches is too costly.

The GitHub pull request model is absurdly complex for drive-by changes. I wish there were a way to just send a patch.
The edit button lets you change it easily
(comment deleted)
Obviously this doesn't apply here, but how does that work with changes across multiple files? Even one-off changes sometimes need to touch different parts of the codebase.

The ideal workflow for me would be:

1. Clone the repo locally (not making a public fork that requires cleanup).

2. Make changes and commit them (not making a branch that requires cleanup).

3. Send the patch (or patches) for review.

4. If the patch is reviewed, it's either automatically landed or a project committer applies it and commits it. Either way, there's nothing else I have to do at this point besides deleting my local clone.

I can see how the GitHub model works for people who contribute to the same projects frequently, but there's too much stuff you have to do (forking, cloning, branching) and then un-do if you're making a drive-by change and don't want the project to clutter up your profile.

Why are you fixating on this notion of cleanup? There's no need to "clean up" your public repos.

Even if you're making complex changes, I think GitHub is much easier to work with than the classic "patch" emails.

I frequently will randomly fork a project that I'm using and submit a minor pull request when I wouldn't hunt down their source control system, clone it locally, make changes, find their preferred email/patch system, look up the commands to create a patch file, and email the patch.

GitHub is drop dead simple:

1. Click fork. 2. Edit your fork online or clone locally, committing changes. 3. Click the "pull request" button.

Just because a model is new doesn't mean it's worse.

If you view the file on github.com, you should see an edit button, which - I believe - makes the whole process a lot simpler.
You don't need to actively clone a repo to make a change. You just click "Edit" on the file you wan't to change and it'll do the heavy lifting for you.

True, you still have to make a commit message and click submit on the pull request, but the cloning/forking is taken care of behind the scene

He should set up a script to take a screenshot of it with each commit as well and make an animated gif.
Since all of the previous states are there in the repo history, you can make that gif yourself at any moment!

  for c in `git log --oneline --reverse | awk '{print  $1}'`
  do
    clear; echo "$c"; git --no-pager show $c:README; sleep 1; 
  done
is what one could use on a terminal
You can remove the pipe to awk by replacing:

  --oneline
with

  --pretty=format:"%h"
You would get penises every two frames. Depending on the speed of the GIF, the result would be flickering penises...
Never have I seen an HN comment that would be this weird when taken out of context.
I think it'd be a lot more interesting if there was a limit to how many characters could change per pull request. It could still be botted, but there'd be more interesting art than at present where people are resetting it constantly instead of several people building something "interesting".

Fun concept regardless.

That sounds cool, but I wonder if there would be a problem if the repo hit anything close to a critical mass where several people were editing forked repos at once and submitting pull requests. I imagine it would be pretty frustrating to go through the process and make some changes only to find out that your original revision is now too outdated for the bot to merge.
The question whose answer I didn't see in the "Why" section is "Why 80x40?" 80x25, 80x50, and 80x43 seem obvious to me, but 80x40 feels odd... Maybe I'm just old and everyone uses 80x40 terminals now?
I'm not old, and I thought it would be a funny sized punch card. Also, his ASCII art doesn't have rounded corners like the standard IBM cards dating back to 1964.
I thought punchcards were 80x1. This is a stack of 40 cards.
so you can display in terminal of course. motd?
Maybe because it fits inside the README area on github?
Based on the link, I'm guessing "because it's roughly square in GitHub's monospace font."
OF COURSE in its current state is a bunch of penises...
OF COURSE it's scripted so that it's almost always in that state.
As I expected, it didn't take long for picture to become a bunch of dicks.

https://github.com/art-dot-git/80x40/commit/4f511b050a949bfc...

It's even scripted!
I seriously don't get the humor in this.
(comment deleted)
(comment deleted)
It is forbidden imagery. Not only is it forbidden, people get extremely repulsed, revolted, indignant, angry, bothered, and censorious at the mere mention of a perfectly ordinary human organ. Imagine if the moralites went "HIDE YOUR KIDS, HIDE YOUR WIFE, CLOSE YOUR DAUGHTERS' EYES, THERE IS A SPLEEN DRAWN ON THE WALL!". Teenagers would be drawing little ovals all over the place. It's fun mainly because of people's outlandish reactions to a small soft harmless organ you hold every day while you pee.
So, it's not so much, "Hey, I drew a penis", but more "Look, I made StuffyButt1971 angry because I drew a penis"?

Hmmm... There's better things to do with one's time.

These people tend to be those with an abundance of time. It's not worth much to them.

They might say that there's better things to do with one's emotional and time resources than react to them or try to censor them.

It's effectively an subjective DoS, they can cause someone else to expend emotional/experience/effort resources disproportionate and larger than those they expended themselves.

Same argument can be made to those that get angry?
I suspect it's a mere challenge for the "troll" to see if they can beat the system. If not, they'll try harder until they can. The more challenge the more rewarding it is, thus the harder they try and eventually succeed unless it's impossible (in which case they figure it out and quit trying).

It's really the sincerest form of hacker spirit which manifests itself this way. Why? Because internet^H^H^H^H^H^H^H^H Hitler.

Edit: Well, I didn't quite address the art part but still.

I think the troll's motivation is closer to breaking a seemingly useless system to waste the time of those who think its important.

You can argue against something, or show it to be unworkable.

Seconded. And some people are making themselves much less employable — that commit history is there to stay.
I, too, judge peoples' employability based on whether or not they've committed a series of dicks in a lighthearted Github repo. :P
You made me want to draw some dicks in some public repo and get bad employers filter themselves out :P
Please do. If you consider a company expecting employees to have the maturity above an adolescent boy "bad employers", we'd like you to help filter yourself out.
Don't worry, you probably already filtered me out. I have plenty of ponies shown publicly in many places, including github profile. That degrades my maturity level to a little girl - and I'm not even a woman! [/s]

Any company judging "maturity" of actions done by someone in their spare time is not worth working for. It's just not their business to decide whether someone is "mature" or not, so if they cannot manage their business properly, why should I want to work with them? They probably won't be able to maintain healthy relationship with their employees anyway if they're so keen to filter out perfectly fine candidates over something so unimportant and nonharmful as low-grade sense of humor.

If you can't see the difference between ponies displayed publicly and penises displayed publicly, I'm not hiring you either.
Liking something childish and acting unprofessionally are very different aspects of immaturity. I wouldn't care about the former, but the latter may reflect poorly on the company, especially in open source where developers are like ambassadors to the community.

But if you maintain a good wall between your professional life and that immature spare time, such that the employer doesn't even see the low-grade stuff, then fine.

How does employer seeing it or not make any difference? (except the obvious one that it's hard to react to what you can't see)

It's hardly even "acting unprofessionally". It's a lighthearted project where, well, some part of the fun is waiting for the first person to draw some dicks in. If you can't get over it, that's more likely problem with your attitude, not the person's who drew it.

If the employer is worried about how you represent their public image, and you've disassociated this activity well enough that the employer doesn't know about it, then their concern is mostly satisfied.

Anyway, let the mutual filtering continue. You don't want to work for a company that cares about drawing public dicks, and such a company won't want to hire you. It doesn't really even matter to decide whose attitude has a problem -- you're just culturally incompatible.

Tastefully arranged 3x3 dick grid. Next they should make them rotate around.
> As I expected, it didn't take long for picture to become a bunch of dicks.

In the User Trust and Safety community, this is affectionately called TTP, or Time To Penis. Whenever you launch a service that allows user-generated content it's something to consider.

This won't work. You only elevate the privileges of the curl process, while the redirected output was opened by your shell beforehand.

  curl https://github.com/art-dot-git/80x40/blob/master/README | sudo tee /etc/motd >/dev/null
Here's yet another way:

  sudo bash -c 'curl https://github.com/art-dot-git/80x40/blob/master/README > /etc/motd'
Interesting. Put it sideways, allow to save many frames and then play ASCII movies. That may start a new fad. The internet is all about fads.
This would be a far more interesting experiment if users could only modify a small subset of the characters per commit (a bit like GitHub Plays ASCII Art).
No Unicode, no graphical characters for ASCII art. Sad.
Maybe I'm just old, but I don't think of "ASCII art" and "graphical characters" as belonging together.

Traditionally, ASCII art is limited to ASCII 32-126 plus tabs.

An Interesting approach would be to use it as a GIF or video by using some distance formular to sort all the changes in the least changing way.
It would be a nice feature to reject any PRs that are over a certain # of characters diff. That way it becomes more collaborative instead of wholesale replacement.
Along the lines of TwitchInstallsArchLinux, GitHubDrawsAPicture
(comment deleted)