How one guy ruined Hacktoberfest (2020)
joel.net
joel.net
I’ve encountered a single instance. On a library I maintain, I recently had a PR and a series of comments added on all my outstanding issues made by a person advertising their for-pay SaaS alternative. Every problem someone had “Just try my SaaS with this connector instead…”
I hid the comments, closed the PR asking me to link it from my README, while chastising the person a little. Looking at the user’s profile/history he had done similar to many other related libraries. I reported the profile to GitHub and the whole profile was gone with all his comments and tickets in a matter of hours.
I honestly feel a little bad about that resolution, here was a person who probably put a decent chunk of time into his SaaS and just made the mistake of advertising it in an obnoxiously intrusive manner. They had legit git repos, now gone. I could have seen a younger dumber myself in their shoes, especially as I literally built the same SaaS ten years ago, using my library, and didn’t get a single person to bite.
Sure, it's nice how little there is, but it's definitely there.
IMO there's also no point in remaining silent about this, it's only a matter of time until the spam starts coming in over this channel. I'm pretty certain some day GitHub will cloak commit emails by default.
GitHub modifying the commit would be incompatible with signed commits.
Edit: I'm pretty sure it would also change the commit hash, making your history and GitHub's history divergent.
https://docs.github.com/en/account-and-profile/setting-up-an...
GitHub already offers an email cloaking mechanism but you have to set it up in your local git config in place of your regular email.
I dread the day when the London recruiter spam mills figure this out...
20 or so recruiters over the last 3 years have contacted my github commit address.
They're by definition clever people who spend time trying not to be contacted. What's the likely outcome of spamming them? 0.01% responding? Fewer?
...Is what I actually meant to write, this was a typo and the comment is locked now. :/
I did 4 years at a startup where my job was essentially this (we were a small news startup and I lead a small team of mostly college interns sharing links to our news videos with bloggers). _However_, there is a very crucial step I've rarely seen followed in the wild, and that is _actually_ engage in the conversation. "Cool, here's a URL to my product" is spam. But actually investing time into a thoughtful comment (and first evaluating whether your product is actually a good fit for the problem) is not, IMO.
"But I don't have time" is not a valid excuse here. If you don't have time to engage with your prospective customers and really understand their needs and where they're at, what are you doing communicating about your product?
In my experience doing this, you'll still get a mix of people who receive it well and some who don't. Keep a list of both. Then you know who to follow up with and who to avoid so you don't develop an antagonistic relationship with them.
Also, looking at the numbers, this didn't look like a particularly cost-effective approach to communication at the time. We were not at all playing a numbers game but were instead trying to build relationships with bloggers who would feel comfortable including our content where they believed it would genuinely contribute to their blog and their audience. Over time, maybe the time we invested up-front paid off. I left to other things before I got to assess that.
On the other hand, we were basically developing relationships with unpaid "influencers" around 2008-2012, so maybe we were on to something (in any case, the startup sold to E.W. Scripps for ~$35 million in 2014 and is still part of their portfolio today).
Only thing that somewhat helped was limiting PR and issues to contributors for a week or so (which is bad for users). Afterwards it was possible to turn them back on for everyone. But after few months of silence the bots where back.
The whole thing was slightly bizarre. And their goal was unclear. The messages never contained any actual ads or links. It looked like someone is trying to simulate real accounts behavior. Those accounts where doing similar thing to other real repositories and also making nonsensical activity in each others forks of real projects. Maybe the person was still testing how to avoid bot detection. Or maybe the goal was accumulating accounts which could later be used for selling stars.
8-9 years ago, at DigitalOcean's first SXSW booth, we were giving out free t-shirts that had DO's Sammy shark logo, and Linux's Tux penguin logo. The catch was people had to name the penguin on the t-shirt. The vast majority could not name Tux, and pled to get the t-shirt anyways.
It was a very surreal experience.
This is why the year of the Linux desktop is never happening. People outside the echo chamber don’t realize how tiny it is.
I've mostly used Hacktoberfest as an annual opportunity to learn some new tech that I've read about but haven't yet had a chance to try. I start a new public repo and work through their tutorial doing PRs to commit chunks for each major section etc.
Open source. No spam for anyone. I learn something. Free shirt.
Practicing PR hygiene on your own repo if it's something you're not already familiar with is also a benefit.
Folks will stand in line for about an hour for a free sub sandwich that costs ~$5.
am i the only one who thinks primary school children shouldn’t be learning git?
edit: thanks for downvoting me and sorry for questioning your parenting principles
i myself started at 12 (actually with BASIC!) and while there’s no denial that it has helped my career at later point in life, it has completely alienated me from the rest of people
my schoolmates still introduce me as “nerd” to other people (not in front of me of course)
not that i care that much, but it still hurts
Also, people can be a**holes to others for any and no reason. Being different is just the most common and a seemingly rational one. It's an important life lesson to learn that it's often not possible to change people, and frequently not even worth trying. Adapting to them to fit their small worldview is even less promising.
Turns out the alienation was from being a know-it-all, argumentative asshole and had very little to do with my programming skills. Most of my classmates probably would have found the programming somewhat interesting had I not lofted it over their heads as a badge of self superiority.
it just so happened that my knowledge helped me perform better at IT class than anybody else, so they got pissed at me for being able to comprehend something they themselves don't
You really got bullied just for being the most knowledgeable one in class? If so that’s awful and I’m sorry for what you had to go through.
By around 2014 the cool kids in my local high school were the nerds, and it's pretty much stayed that way. I worked with a neighborhood youth group where the kid who was at the center of everything was super into fortnite and coding. When he introduced himself to me the first thing he said was "I'm pretty much a nerd"—and he said it with pride! A few of the other kids felt the need to establish their nerd cred, too. This was in a neighborhood in the poorest part of a nearly-rural town. Their parents were mostly in trades, not tech.
"Nerd" has become a badge of honor that is sought after and claimed by kids, not a derogatory label assigned by others.
Edit: numbers
i only questioned the usefulness of teaching 5-12 year olds a concept no 5-12 year old needs
unless they want to enter workforce at 13 (god save them from this)!
> because you can’t get your childhood back
It seems to imply that the rest of childhood is lost because of git. You may want to correct or clarify your comment.
Btw, childhood is a lot about throwaway exploring many things where we don't have to invent a purpose or utility for every single thing. It's all about spare time and trying things out with no strings attached. It doesn't matter if in some of their spare time they watch TV together, or go to movies together, or build a robot together, or code together. I think you're getting downvoted not because whether the utility is right or wrong, but because utility doesn't need to matter.
git has absolutely no meaning for a child, it's a professional tool used for work
you don't teach children how to operate a chainsaw, do you?
> git has absolutely no meaning for a child, it's a professional tool used for work
It's not just a professional tool for work. It's a version control system to version whatever you might think needs versioning. What's this attitude that software engineering tools and skills are just valuable for work?
> you don't teach children how to operate a chainsaw, do you?
A chainsaw is very dangerous to the kid. My dad certainly told me how to use a hammer, handsaw and many other tools. We built a lot of things together like wooden remote controlled airplanes. It was certainly neither to train me to become a woodworker or aerospace engineer. And I will certainly build computer games with my kid some day which will involve git (or its future equivalent) as one of the first lessons.
like do you really think children are bothered with not being able to version-control files? is this an issue a lot of children are having?
> software engineering tools and skills are just valuable for work?
yes, work is still work, it doesn't matter if you're doing work as a fun hobby or as a job
> I will certainly build computer games with my kid some day which will involve git
yeah, why not also teach them law and performing a surgery? they'll have a great career potential, useful skills, much better than the other children!
I've used lots of "...-1.zip" files to preserve my files when learning coding for fun, so yes, someone showing me git (if it existed at the time) would help. It took me a few extra years to discover CVS/SVN. (the system itself was exciting)
> yeah, why not also teach them law and performing a surgery?
There are kids actually interested in law and finding the concept fun. You may be also shocked that I was really into accounting my allowance and spending in a double entry system. Surgery would be hard for practical/legal reasons, but I know two really young kids, one obsessed with the idea of performing medical procedures, the other with being a paramedic. (and not in a silly "I wanna grow up to be a doctor", but rather "I've found a first aid course for kids I want to do")
What I'm trying to say is, don't assume kids are pushed / forced to do things like that. Some of them really enjoy things adults find hard / boring / too work related.
> yes, work is still work, it doesn't matter if you're doing work as a fun hobby or as a job
No it's not work. You do work to get paid if you like a particular task or not. You do your hobby for yourself because you enjoy doing it and you just stop if you want to. I certainly won't force my kids to do that. I will try to get them into the subject with patience and let it go if they gave it a fair shot and don't like it. It matters a great deal if you do something for work or fun.
Of course, everyone wants an "undo" button and lower consequences for experimentation. I really wanted one from the very first programs I wrote when I was 9 years old and don't have one. I had no intention of making a career of it and had no one to share programs with. Completely irrelevant.
First of all, teaching someone git isn't necessarily job training. We don't have the broader context. Maybe the child initiated it because they were interested in what their parents are spending their time on.
Secondly, teaching a child how to use git doesn't mean the child isn't learning other things too.
Thirdly, I learned version control (SVN, before git existed) as a child too. Not as young as primary school, but I learned it on my own because I was interested in it. It wasn't done in the context of job training.
Fourthly, your comparison with a chain saw is just plain vacuous. Git won't kill or maim you. Holy hell buddy.
So at least in my case, your speculation about the reasons for downvotes is wrong. And also, stop whining about downvotes. :)
Come to think of it, SVN was the same way; I used it for personal projects while using CVS at work.
Also, as an aside, my dad taught me how to use a chainsaw, including mixing the fuel for the two-stroke engine when I was 12. As an electrical engineer, he certainly didn't use a chainsaw at work.
I didn't get to use a chainsaw as a kid, but I did get to use a table saw and a hand-held circular saw when there were projects to use them for.
A kid in first grade is not very likely to be having these kinds of problems, but a site like this full of professional programmers is certainly where you’re most likely to find parents whose kids are having these problems because they’ve been genuinely interested in learning what Mom and/or Dad do all day, and have been taught some of it.
That's a huge assumption here. At the base of what a human needs are the physiological needs. Do humans need art? Fun? Maths? Git? Where do you draw the line?
I prefer the opposite interpretation though: anything can become a hobby or puzzle. That puts nearly everything on the "ok" side of your line.
Is there any particular reason behind saying that that's bad?
But thank you for gratuitously denigrating my childhood.
the overwhelming majority of the children don't need C64 Basic at 7, Stroustrup at 14 and x86 assembly at 16
Denouncing one such tiny minority just because you don't see the value in it makes you sound very closed-minded and bigoted.
It’s also a terrible take! “Don’t teach kids interesting and complex things, it might be related to something someone does for a living!”
should we now force all children to learn how to code?
Teaching children specifics without fundamentals prepares them for the job market, not for life.
sadly, some folks disagree
these skills have enabled them to live a great life and they want the same for their children
i certainly can understand that, but i disagree with the approach
Specifics are a useful starting point for getting to fundamentals; trying to learn abstracted stuff without having anything to tie it too tends to be a bit tricky. Even for adults, which is why "here's a novel to help illustrate what we mean by these things" is a thing (for example, The Phoenix Project). It's also why math tends to start with arithmetic and memorizing times tables, and only after that gets to more fundamental stuff like algebra and then calculus.
Starting vocational education so young feels like a slide back in time to the 19th century, except even then, apprenticeship usually began around 12-15 years old.
I had a suspicion something like this would happen the first time I heard of Hacktoberfest. If you ask people to make PRs to win something, with very little extra condition, they will. This is pretty much the situation of "you get what you measure". I can't find the reference now, but I recall a similar thing happening when Wikipedia asked for contributions in return for a chance to win something(?) --- tons of almost-entirely-plagiarised articles appeared from Indian accounts.
- Goodhart's Law, often stated as "When a measure becomes a target, it ceases to be a good measure".
- the Cobra effect. When the British government placed bounties on wild cobras, people started breeding cobras.
- Campbell's law: "The more any quantitative social indicator is used for social decision-making, the more subject it will be to corruption pressures and the more apt it will be to distort and corrupt the social processes it is intended to monitor."
I've noticed these "Youtubers" doing a lot of things because they are not part of the hacker community, but adjacent to it, while being propelled to prominence and given $$$$$ to fund their lifestyle, it really grinds my gears.
Edit: found a cite!
https://gist.github.com/rjhansen/67ab921ffb4084c865b3618d695...
The bigger issue here is that there are literally millions of people in the developing world, often mistaken as being entirely from South Asia, but actually include most developing countries, where tech is suddenly accessible for them as a potential road out of poverty wages and up the earning ladder, but there is no quality control whatsoever for them or their learning.
I don't know what the solution is, but if the internet is truly for the masses and is connecting the world, then guess what, this is part of our world as well.
I don't participate in it anymore
The simplest solution would be to eliminate the rule that started to encourage this behavior. It's sad, but this is why we can't have nice things.
I think DO excludes them from the final count though. It doesn't stop people from trying.
Really not sure why people bother spamming other repos when you can just make your own
I don't see how it's the guy's fault that people misuse this information. It's useful information, and the people making low-effort PRs are responsible for their own actions.
I was worried for a minute there, but everything looks ok on my end
I think an even better goal for Hacktoberfest would've been documentation. Translate a page into a new language, or add documentation where it doesn't exist, and you get a t-shirt. Entirely automate the docs for code, get a plushie. Write HOWTOs, get $25 free DO credit.
You'd think, but never underestimate the pain that people will go through to get some minor profit for free. It becomes a numbers game. If you think your "immaterial" PR has a 1/10,000 chance of slipping by, you just make 10,000 immaterial PRs. There are a nontrivial number of people who will absolutely sit there and manually copy/paste 10K pull requests if they think it will get them $1-$2 worth of stuff. The smarter ones would find a way to automate it.
Sometimes we are all like GPT3. I think the difference is some werid meta-abstraction level mechanism to decision-making related to consciousness (in ways we do not understand) ...and sometimes people are just not thoroughly conscious so we see very little traces of this mechanism in their behaviours.
Small world...busy going through one of his tutorials currently. Quality guy