I’ve never considered GitHub to be “fun.” It’s a great tool, though.
Most of my GH interaction is through my desktop system, not a browser (pushing and pulling checkouts).
I’ve been using some form of source control for nearly 30 years (since Projector, in the 1990s). It’s a tool. A very, very important tool.
I appreciate many of the “glossy” features of GH, like hero images and GH Pages, but this shows how “out of touch” I must be, because I have never considered it to be a social venue or competitive arena.
It’s just a place I keep my code. I’m quite grateful for it.
Tangential: what is up with this inflationary expectation that everything should be "fun" and "exciting" and "thrilling"? I feel like western society as a whole is thinking more and more in terms of a six year old. For adults, there lies incredible satisfaction in mastering any but the most exploitative professions or jobs and fulfilling them dutifully, even if they are be no means "fun".
what is up with this inflationary expectation that everything should be "fun" and "exciting" and "thrilling"
A couple years ago I dubbed this trend "Flanders Computing" [1]. I haven't really given much thought about its origins, but it's probably got to do with the increasing demand for happiness that we Americans hold dear.
Collectively I think it's entered the American psyche that the answer to happiness is to avoid anything that makes us anxious or uncomfortable, which results in that toddler-level approach in many things. i.e. Ban things labeled "toxic", ban the boo-boos, keep everyone safe with happy feelings in this space only. But admittedly my thoughts are incomplete.
"The desire for more positive experience is in itself a negative experience. And, paradoxically, the acceptance of one's negative experience is itself a positive experience."
from "The Subtle Art Of Not Giving A Fuck" by Mark Mason
Sounds like new age stoicism? Roman philosophers, 2000 years ago, were teaching us to curb our desires for they ultimately lead to dissapointment when things don't work out.
The Enchiridion of Epictetus is a good place to start. You'll also learn how to feel when your favorite mug drops, or when a friend pokes your eye in a wrestling match - spoiler: the answer is not giving it a fuck (for lack of a better term).
Maybe that's because our sensory systems can't really feel states, only differences between states. Hot only exists in comparison to our memory of cold. Without that comparison, there is simply numbness.
If that's a general principle, it implies that happiness can only be felt as an improvement over the past. That would also explain why sadness is necessary for us to be able to feel happiness, and why we're attracted to tragic art. Someone who is the same level of happy all the time will become numb to it, but constantly becoming happier is unsustainable in the same way as a drug addiction.
>What they are missing is the knowledge of and empathy for people who are actually harmed by these behaviors.
Don't worry, most people asking for such bans don't have any real empathy for people who are actually harmed by these behaviors either.
And inversely, most people who are actually harmed, don't care for such bans, they prefer substantive and inherent (felt and voluntary) changes, not bans.
But then plenty of the same people that seek to police speech online and to claim the moral high ground are capable of and comfortable with quite horrible and unjustified forms of harassment, e.g. extreme levels of doxxing, getting people sacked for hurty tweets, even hounding people to suicide.
Let's not pretend there aren't plenty of cynics that employ woke culture to sinister ends.
Why do you think this is specifically a 'western society' thing? Browse Japanese sites and online tools and there is just as much gamification and 'thrilling' graphics and animation - if not more. Github looks like a technical white-paper in comparison.
Of course it sounds ridiculous. Boolean algebra says the validity of a statement's converse is independent of the original. P → Q, tells us little about Q → P.
You could make the argument. Japan was actively xenophobic and exclusionary to practically all but the Dutch. And after that their biggest influence was U.S. occupation during the 50s. Lots of “western” influence there.
(Obviously in actual critical work, the word western isn’t useful at all as it doesn’t have much meaning)
Japanese culture is quite different from American culture.
We did rebuild them, and McArthur is revered as a god, over there.
But they really have their own culture, and some aspects can strike us as quite strange (as, I am sure, some aspects of our culture weird them out).
I worked for a Japanese company, and went there, multiple times a year, for about twenty years (all Tokyo, so I can't speak for the rest of Japan). I think that there are a number of Japanese and US/EU expats that live in Japan, on this board.
While he's undeniably a famous historical figure in Japan, my impression is that the majority of Japanese people don't have any strong opinions about him. After all, how many people actually care so much about historical figures when they're busy watching cat videos on YouTube? But for the people who do have some interest, I assume many have mixed feelings on the matter, which is natural for citizens of a former military dictatorship turned democracy only because they lost the world war. The rest are far-right people who, as you can imagine, hate him with a passion, though I do hope they're only a minority of Japanese people whose voices are amplified by Twitter echo chambers.
I'll have to hunt down the article that talks about it, but McArthur was actually "Emperor of Japan" for a few years, in everything but title.
I had several people point out his office on the top floor of a building facing the Emperor's Palace (some of the priciest real estate on Earth), in hushed, reverential tones.
Yes, he did have a strong political influence during US occupation, and yes, there may be people who worship him, but I can guarantee that it's not the norm. I'm actually fluent enough in Japanese to know this.
Because the kinds of people who likes to pile on McArthur are mostly far-right people who are trying to discredit the positive things he did, especially his team's work on drafting the current Japanese constitution which established a democratic system with strong safeguards for human rights. It's not McArthur's own character that I'm taking issues with.
I remember once it felt a bit jarring when I heard native American cultures contrasted with "western" ones. Surely they are more "western" than Europeans.
"Western" in this context is referring to the western tip of the Eurasian landmass. The western hemisphere is part of the cultural "West" because of the European diaspora, not because of its geographic location.
Correct. The division goes back to the Roman Empire and the reforms of Diocletian. Arguably however there were underlying cultural differences between the Latin Romans and the Greek Romans that were beneath those reforms and the later Great Schism between East and West.
Words are never some sort of perfect encapsulation of their meaning. They only achieve that via their definitions.
What you're suggesting is basically using the etymological fallacy as a basis for changing words. Because of linguistic drift, a majority of words would have up be changed at some point - words like "nice" which came to mean their opposite, for example.
I think my suggestion that we should "perhaps" choose different words occasionally was mistaken for a demand that we must.
Choice of words is an individalized thing and language allows us to be as flexible as we like within still getting the point across. If I choose to say "European" instead of "western" when contrasting with indigenous Americans that sounds fine to me. If you don't make that same choice that's fine too. We'll all be understood.
>It's my personal opinion that when we see such a discongreguity that we should perhaps choose other words.
Not really. Then we'd be changing terms established for centuries, that most people understand in their two contexts (geographical and cultural), with some new words we'd have to explain every time we use them -- so making things worse.
If I contrasted indigenous Americans with "European" culture rather than a "western" one, you would completely understand the meaning and it wouldn't be a big deal.
I wouldn't know if you mean "European culture" in the sense of something unique continental European (the way Europeans have unique cultural traits different from US traits, e.g. analytical vs continental philosophy), or the shared western culture Europeans and US Americans, and Australians, etc have?
That would sound to me like a deliberate misread in the same way that taking "west" literally is to you. You would know what I meant to say, and so would I should you say it the other way.
It's common to divide US/European culture (even though both western), or to include Japan in the western culture (even though not in the west, and their culture is not European of origin -- west in that sense is more like "westernized").
Native Americans and pre-Christian pagan Europeans had a lot in common. Both cultures that honor seasonal cycles, animals, nature, ancestors, animism etc.
Unfortunately “western” is now seen as the Abrahamic judeo-Christian capitalistic worldview, even though the west sprang out of pagan Greece and Rome.
Rome was Christian when the Western and Eastern empires were founded, and when they fell. My understanding is that modern West/East etymology is heavily influenced by the Western/Eastern Roman empires.
>Unfortunately “western” is now seen as the Abrahamic judeo-Christian capitalistic worldview, even though the west sprang out of pagan Greece and Rome.
The west "sprang out of pagan Greece and Rome" when they decided to become Christian. The actual pagans had been slowly abandoning paganism as a dead-end and turning more into esoteric religions and neo-planonism etc and the influence of Egyptian etc religions for several centuries before Christianism was a thing...
"Both cultures" ? What cultures ? Neither pre-Colombian Americas nor Europe shared a culture on their respective side. Even if most of Europe shared a common Indo-European root, religious practices were varying widely. Be it from the cross-pollination with different tradition (pre-Indo-European, Semitic and whatnot) or social changes. It's very hard to argue the official Roman religion as practiced in cities was any more "closer to nature" than Catholicism is.
A cursory glance at Japanese culture and values shows me that America has had far less influence on its development than you believe. On the scale of individuality/community, Japan is further on the opposite side. The anime/manga industry is quite different than anything we have in the West, and a lot of their values tie into the things that are depicted, what's okay, what's not okay, etc. We often see traditional influences on their media that simply don't exist in the West in the same way (comparison of the American and Japanese versions of The Ring: https://www.tandfonline.com/doi/full/10.1080/01956051.2011.5...).
Yes. First you attribute what Japan is to how the US rebuilt it, when in fact this society has thousands of years of history before the US. Sure we can't deny US influence after WW2 and how integrated they are in the global economy, that doesn't make it a westernized country.
Continental Europe is considered, by and large, to be "The West", as is the United States. In this context, the US is a new country but very much representative of the Western world.
Culturally yes, but it depends on context. As mentioned in https://en.wikipedia.org/wiki/Western_world , during the Cold War and after, "Western World" was roughly analogous with "First world".
That is to say, (again, roughly) - "modern, stable, (primarily) capitalist, democracies aligned with Western Europe/USA".
So, in the context of geopolitics and political ideologies many people still consider it to include Japan and South Korea. Yours truly included.
Not that I care as much about the "aligned with" part anymore, but certainly the "modern, stable, democracy" part.
I hold a diametrically opposite viewpoint and would like to present it.
I think people would be happier if they did think in terms of a six year old. There is nothing inherently "professional" about using drab and dull interfaces for coding and going to an office where you all dress in identical suits.
There is quiet satisfaction in achieving mastery like you mention, but (IMO) it should be accompanied by a pleasant feeling too. GitHub's cheerful, bright colors and interface enable that for me, and I'm grateful to them for it. GitLab and Bitbucket feel flat, dreary, and dull by comparison, honestly. It's like going to a brightly colored room with nice sofas v/s an all-grey room with a white desk. Which one are you going to be more productive in?
I think this is also why Slack is incredibly successful for something that is basically an IRC-in-browser implementation. It made work "fun" for a lot of people and thus steam-rollered opposers.
Thank you. I 100% agree. We've for some reason decided that "professional" and "enterprise grade" means dull colors, ugly interfaces, and zero room for "hacking" and "experimentation". That code needs to be "work". That the poster of the comment would claim that this is akin to the thinking of a six year old is in itself curious.
It's as if we're letting the jaded cynics of the world win.
TBF, I don't think the author is saying that Github needs to be fun, but rather that it used to be and now isn't. It's lost a nice quality that it had.
having a hard time understanding what the author is saying. i never considered github to be a place to have fun at. and i am surprised by this article and curious how other people see or use github...
by the way, the trending page is not everything about github!
i keep discovering and bookmarking github projects every now and then. for example, this repository where the author has implementations for trigonometry functions in k&r c: https://github.com/richgel999/triglib
i don't believe github has lost its quality either!
they recently pushed that new layout preview that made the app usable when my zoom level is at 150%. i was very happy about that. i can't wait for github to provide a better search engine. and i have the feeling that they are totally working on it :)
I don't use trending often enough to know that I'm correct in saying this, but I get the impression that the author is describing a shift from "most star-ed projects each day" to some new algorithm which seems to resemble "most interesting projects as of late", with the later being less dynamic. I suppose that's in part why they feel less excitement and less value in the tool.
I agree that a lot of the recent changes to GH have been really cool. This article sort of makes me wish that features like the trending page were more configurable.
Agreed, but I think us old farts are complaining the author thinks GitHub has changed while they have not and isn't considering that maybe their perspective shifted during the time as well.
I think the headline differs (perhaps for traffic). The post seems to discuss concerns about the discovery/trending feature - how developers "discover" new code.
no doubt GH wanted to develop their social site aspects to increase engagement and "stickiness" but I don't think they ever succeeded much, so while it's obviosuly different for the author, it's not much of a loss for everyone else.
I think it's a consequence of gamifying absolutely everything. If you had a online tool I used to quietly manage production at my cardboard box factory and then you went and added leader boards, badges, xp, recognition points and an influencer score, then box manufacturing better be pretty bloody exciting for me from now on. We now have an entire generation of software developers who have never known these tools without the gamified experience.
> If you had a online tool I used to quietly manage production at my cardboard box factory and then you went and added leader boards, badges, xp, recognition points and an influencer score, then box manufacturing better be pretty bloody exciting for me from now on. We now have an entire generation of software developers who have never known these tools without the gamified experience.
Maybe I'm just a little too old, but I've always rolled my eyes at those kinds of features and then ignored them. I find it impossible to imagine anyone actually caring about their badges or XP score on some company intranet wiki.
That's what makes those systems so great. It has a positive effect on the people that DO care, and essentially no negative effect on anyone else. It's a free win.
They are a distraction -- and many websites utilise dark patterns to make those UI elements hard to ignore.
Plus many professional tools need to make use of every square centimetre on the display, and putting this "fun" cruft in it is going to detract from the usefulness of the tool because it now can't accommodate all the necessary UI elements.
I guess I would come from the opposite direction and say: If you can make something important and useful - but generally seen as boring - “fun” there are big wins all around.
The jobs in one corner vs. fun in another usually creates a system where everything that’s fun is unfortunately useless, from a professional perspective.
And some people like that! They want to work for 8 hours and make memes/play games the rest of the time. They don’t miss the “lost” time at all.
But some of us really want to convert that useless time into something useful. You can hate us if you want, but I don’t think we are necessarily wrong to want this.
Example: I just don’t have enough time. I’m noticing now that when I take even 30 minutes off, in terms of my productivity- it hurts. I’ve
personally concluded that the concept of “free time” just doesn’t apply to me, and I don’t really have any.
Another example: at a certain level, given the right approach, probably anything can be fun. Physics can be fun! Linear algebra can be fun! But you know as well as I do that when people talk about fun colloquially, they never mean linear algebra. So pushing back on what is “fun” exactly can have big on the job benefits.
In this context, switching 30 minutes over from “mindless entertainment” to “somewhat professionally useful entertainment” is a massive win. Enough to get me to stop doing one thing and do something else, actually.
I would guess a lot of people on Twitter would be in the same boat, based on how they use it.
> Tangential: what is up with this inflationary expectation that everything should be "fun" and "exciting" and "thrilling"? I feel like western society as a whole is thinking more and more in terms of a six year old.
Depends what you mean by "western society". A good chunk of Europeans I knew (including in Eastern Europe where I live) share the same mindset as your parent poster: a version control is just a tool and it is gauged on the basis of how much it helps you in your work. Absolutely zero fun factor required. We just want it to be useful and not get in the way (which, admittedly, Git itself isn't quite good at).
(I) There's still a relative scarcity of developers at any skill (even if there's no shortage of class-N developers taking their shot at class-(N+1) work).
(II) I'm not a progressive politically, but Western Society has generally improved. Bigger McDonalds meals that make you fatter is "improved" too under the logic of the market. Because developers are relatively scarce, a greater share of this improvement goes to what they want (whereas in burger flipping, the share gone to better golf clubs for execs is comparatively larger).
(III) There's something about law enforcement that attracts a certain kind of personality. I was never drawn to LEO (as a cop, bail bondsman, mall security, anything) because I don't have these personality traits. The same goes for computer programmers. There's certainly a childish trait going on that isn't present in Mad Men's Don Draper (but then, who knows if this guy existed); the web itself gravitates to a light, rounded, primary-colors visual language. I think in part there's a whiz-kid dynamic where many of us were much much more capable than adults in a moment of extraordinary technology shift (the introduction of the internet), whereas in previous generations adults knew better and youngsters wanted to emulate them. ("Never trust anyone over 30" has been around for a long time, but it was an angry sentiment, whereas now 40-year-olds are welcome to emulate whiz-kids if they still have it).
We need new and shiny things to challenge us, maintain established neural pathways and develop new ones. It's a physiological need for healthy brain functioning.
Yes, it is childlike, but there is no shame in that-- if anything, history is proving more and more that the generations who maintained that everything must be as repetitive and miserable as possible had no idea what they were talking about-- and are now dying with active diagnoses of dementia and Alzheimer's.
My guess is that it started as a differentiator in the market. This is 'fun', other things are not. Then it leaked into other places, such as the workplace which became increasingly infantilized at ultimately the detriment of the worker (benefits include: shitty health insurance, ping pong tables and foosball leagues!!). This further led to the internalization of natural negative or neutral feelings: you feel down? What's wrong with you? Everyone else is having fun! This is fun! Your job is fun! You must be broken, therefore you need to fix yourself.
Fun may not be the right word for it. Github certainly never has deserved a description reserved for a world-class roller coaster... I don't think I've ever been "thrilled" by Github, but I've been very satisfied, contented, and sometimes amused by the experience. A positive experience really is useful as it makes getting other developers to comply with the process - something that was really lacking in source control prior to Github (and to a degree git itself).
I think the prominence of consumption industries like entertainment, media and social media have hooked us on the idea of happiness/meaning as perpetual bliss. I suspect these industries learned it from advertising, an industry which they created and evolved. The schools and religious organizations have tried to follow suit, with only mixed success.
"Fun" is a very poor imitation of "zen" or "peace" (the Christian concept) or "enlightenment" (the Buddhist concept), but has become sort of the sine qua non of secular Western democratic capitalist societies.
If nobody does it, it would be fine. If everybody does it, then we're worse off than before. But if some do it, and others don't, then the ones who do it win big.
I think you could benefit from laying out a few examples, because on my own I’m struggling to put your claim into more concrete terms that I can relate to.
I think ultimately Sourceforge fell from grace because it wasn't "fun", whatever that may mean; it was lacking the social features, poor UX, etc. Many things that make it boring or "not fun".
I've looked at some tools used by Google - mailing lists, Gerrit, etc - none of those look fun. For a casual like me, fun is important.
I don't do much with open source because I don't have the headspace, willpower or persistence to contribute much so the discussion is a bit wasted on me, but I've used both Github, Gitlab and Stash (Atlassian) for work projects; the feedback loop that tools like this give is super important to me.
I think Sourceforge fell from grace because of underhanded tactics like hijacking projects and bundling adware no-one wanted with their downloads, then lying about it.
I never once thought "Sourceforge is boring". I thought they became villains.
To be fair though, they declined in popularity and mindshare and had a change of ownership a few times before it came to that. The sourceforge that served up malware in 2013 bore little resemblance to the one from the 90s.
I feel like it was more like: their offerings were no longer unique, the original team probably moved on, they couldn't make money, and they turned to desperation.
Yep [0], after been bought by Dice (they also drained off the Freshmeat and Slashdot communities around that time, then froze the former "as a result of low traffic levels").
I kind of do have "fun" with GH. I follow people and see what repos they have starred, or code/issues they're working on. I also follow repos and check the source code that's being committed from time to time. Just for fun, to learn new stuff. The "Explore repositories" option did help me to find a couple of interesting repos.
I feel that at some point GH decided to distance themselves from the social aspect of the platform, but I still cling to it.
There are two sides to github consumption - active and passive.
On passive side - we are happy to stick to basics of git on CLI / IDE and get the job done of a version control. And the site is usually to configure CI/CD and so on.
However on active consumption of open source - it is all about discovery of repos relevant to tech you are into and people behind them. It is so amazing to go and find a good committer profile and see what repos he follows.
And the new github trending is simply axing their own feet here.
Your clash with the conventional usage and connotation of these terms was probably intended, but how is browsing repos active consumption (and vice versa)? Isn't creating and collaborating on projects much more active than just looking at interesting stuff?
1. A git-aware Google Drive, where I could stick version-controlled code I wanted to sync between computers and possibly share with colleagues (and also create a paper trail if someone beats me to the bunch publishing something, ha)
2. As a CDN serving open-source projects I depended on, but discovered almost exclusively by other means
None of my GitHub-hosted code ever had a README.md, I never starred anything, and I often never even visited the repos I depended on (their documentation would be hosted elsewhere and copying-and-pasting the GH URL from there was all I needed to do to depend on it). If I visited an Issues page, it was because I got there through googling an error message, not because I went there through GH's UI.
This Drive / CDN usage pattern is sort of the baseline, "passive" level of engagement with GH imo.
If I'm being honest (and maybe others who are saying they don't care about the "fun" side of GH would agree), I have a knee-jerk slightly negative reaction to this side of Github. And it's because I don't really spend my free time contributing to open source projects. When I was younger I worked on more personal projects, and I coded in my free time just to learn new technologies, but I do this less and less now and am quite happy with that. Probably 90%+ of the code I've written in the past 10 years (some of it quite clever and solving some quite interesting problems, if I do say myself) has been for employers. I don't think that makes me a worse future employee than someone who contributes more to open source, and I feel very fulfilled spending my nights and weekends doing other non-programming things.
I'm glad that others have fun with open source and follow along and contribute to projects. It's amazing and it has benefitted me directly with the libraries I use. But as far as the social pressure of needing to be active on Github, for a while that seemed like it might become an expectation for all programmers. And I'm very glad that it seems to be on the decline now.
Edit: and as far as browsing for new libraries and solutions to use in a project, I guess I haven't ever found Github to be very useful for that. There's no easy way to judge the quality of a library, I have come across a lot of things that oversell themselves in the README and are very buggy and incomplete, as well as a lot of things that are maybe used in a small niche in production and very battle hardened but don't currently have a large active community. For me, Twitter and blogs or other discussion forums have been a much higher signal way to find libraries with the reviews of people actually vouching for them as being solid and broadly useful.
This is how I have "fun" with it as well. O wouldn't even consider myself a developer but thanks to my interest in Docker, GitHub has been a source of fun and now I maintain an automated build that integrates both platforms and now has 100k downloads.
Never had any "fun" with github either.
I have had my account since 2013 and I've just learned about this "trending page" thing. Can anyone explain what's it useful for?
The Trending page is news to me too. I discover GitHub repositories by googling for solutions to my problems or by following links in the sites of package managers (Ruby, Python, Node, Elixir.) I seldom check the other repositories of an account unless I have reasons to believe they do something else I need. What they follow, maybe never.
This may also highlight one of the contrasts between my approach, and that of many of today’s engineers.
I am almost exclusively a Principal author of my work; with dozens of repos, and six figures of LoC (probably seven figures, if we include the code not available in public repos). I think I may have one forked repo; an embedded Web server library that I needed to tweak a bit to make work for my ffmpeg wrapper project.
This is not necessarily a good thing. By authoring my own code, I limit my scope. People who rely heavily on dependencies can have awesome results.
But they need to be very careful about the provenance and quality of these dependencies.
Dependency discovery is an important part of the vetting process. If we have choices, we don’t need to settle for second-best.
Also, I know that, for many folks, learning is a driver for repo discovery.
A lot of forks can indicate an inquisitive and open-minded approach to software development.
That's a fair point - and indeed I like those projects, not not just for finding good dependencies. I don't actually use that many external libs - but it's basically a version of "Show HN".
The projects can have interesting code to read or just show off a cool idea or a different way of implementing something than I'm used to.
Talking about search: Our company uses GitHub enterprise. We have 1000+ repositories, each repo for a serverless function. Github's search is pathetically broken, I had to download all 1000 repositories in my Mac and search for a dependencies via Vscode. Surprisingly Vscode is blazing fast.
I use sourcegraph[0] for most of my searches even on non-entreprise github to work around how broken github search is. Sourcegraph has the ability to search in forks, in a specific commit, or in a set of repos that you define. It's really quite good at doing github-wide searches of arbitrary query. I'm pretty sure its self-hosted solution can be made to work with github entreprise, you might want to check it out :).
1000 repos seems a bit much. Does it mean that when developing a feature you have to change code in tens of repositories And then create separate commits and PRs for each of those? It just seems way too microscopic.
Well, I wrote a couple projects that gained a couple hundred (and thousand) stars. I've made the front page of Hackernews three or four times. I've been featured on HackaDay and I've been spoken about on Linux Gaming Podcast. I have received cryptic Russian emails, and I have had blogs written about my work. The thrill I got from the attention was huge. I felt validated to no end, and my "collection of stars" has sent recruiters haywire. I landed my most recent job with my github portfolio.
But that's just it. It's a bit of limelight. I'm thankful for the interest I've received, but that's all it is, really; it's validation from fellow programmers. It furthers your career in one or two aspects, just like Instagram fuels your self image, or prospects of influencing. But like Instagram, one can chase the limelight their whole life. Ego stroking is addictive. I urge those who come into a bit of limelight to enjoy it, but to stay humble and focus on delivering what you set out to do, not to bask in your temporory moment of glory.
Then you are using the wrong tools. I still remember the first time I got to use a drill press. I totally could have drilled holes in stuff all day. Two thumbs up, would drill again!.
I'd argue, it _is_ fun to use a well-made tool. As opposed to using an ok tool that just does the job. For example, Fossil SCM as mentioned on HN few times.
GitHub is a well-designed tool for multiple use cases. One aspect was the 'Social Programming' as they were marketing it back then. Trending, stars, fork counts were feeding into that aspect. Even the Issue tracker is a kinda social feature.
I find GitHub as a tool is still a fun/joy/handy to use...if only they fixed the odd bug in mobile view that requires me to refresh several times before it loads the styling files.
He's just specifically talking about the "trending" list though, right? Sure, source control is just a tool, but an internet score board showing you new open source projects? That sounds like fun, to me! Showing you things that are inspiring and interesting is part of the functionality.
Yup, but there's waaaaay too much variety in software development to make this work for all disciplines and languages, so I will bet that it has always been optimized for JS/Full Stack.
I'm an Apple native developer. We aren't usually high on anyone's list.
No, GitHub has some aspects that make it very useful for me. It's the de facto standard for sharing code, or presenting a portfolio.
It also has a great API, and people have written some nice tools for it. The API is probably not unique (or even the best one), but it is well-supported by third parties.
You're doing the thing you love most in all the world, surrounded by people who feel the same way.
You've gotten every perk known to man from ping pong to free booze.
You're getting paid handsomely, more than any other humans on the planet.
You've created a buffer zone between yourself and the client that could withstand a rocket blast from a scud missile
And you are allowed to wear whatever adolescent threads you choose up to and including socks, sandals cargo shorts and a spiderman T shirt ..
Yet you're not having fun and you still call it a job?
CydeWays honestly what more could anyone wish for? Isn't it enough that you've bucked every professional convention? Aren't you satisfied with the greatest free lunch in the history of human enterprise?
Could it be that all these enticements are what's actually robbing you of the fun you so certainly deserve?
Who knows maybe I've read one too many Aesop's fables.
I think your list applies to a select few software engineers in Silicon Valley.
> You're doing the thing you love most in all the world, surrounded by people who feel the same way.
The thing I love most is understanding ideas and solving cool problems. Would have stayed in academia if the jobs,job security and money were there. There is plenty of problem solving but it's not an everyday occurrence.
> You've gotten every perk known to man from ping pong to free booze.
Might get some free booze at company events. We have ping pong at our yearly BBQ.
> You're getting paid handsomely, more than any other humans on the planet.
Definitely not true.
> You've created a buffer zone between yourself and the client that could withstand a rocket blast from a scud missile
I'm emailing or on the phone with clients on a weekly basis.
> And you are allowed to wear whatever adolescent threads you choose up to and including socks, sandals cargo shorts and a spiderman T shirt ..
But then again you most likely refuse to dress up for it, amiright?
And you'll throw every prevarication in the book at me as to why dressing up for work isn't necessary.
And I'll tell you that's employee mentality talking.
And you'll say but I'm an engineer.
And I'll say dressing up is fun, for children and adults alike
And you'll say fun has no place at a job.
And try as you might despite all of your engineer's training you won't be able to see there are more than three ways to frame any context.
CydeWays, I like you don't get me wrong.
We go about claiming that we're not saving lives and then we invest our entire existence on this earth towards things that aren't fun? We're going further than not saving lives bro, we're wasting lives.
And what's worse, you wouldn't consider a dress up job to save your career, nor does it strike you odd that there are no dress up jobs to be had.
By now you still haven't noticed that casual culture is a poor substitute for no fun and you're stuck treating your job like a job, so what exactly is the upside?
I feel that GH plays an important role in exactly that (I have been writing open-source software for more than twenty years, but I'm not particularly "notorious." It has never really been one of my goals).
That said, I have never thought about it as the fulcrum for social networking along those lines. I have considered developer communities, like this one, or specialized ones, as places to connect, and GH as a "gallery," where we can send people to view our portfolio, after we have connected, or to "vet" contacts, like employers.
My experience with GH, is that the folks that really generate the most energy, are the JavaScript/Python/Full-Stack communities. I am an Apple software specialist, and there's not really the same energy, in that community, on GH, so it shouldn't be a surprise that I don't see it the same way as JS folks.
Before adding the newest fad features, maybe the should go back and add old fads that they missed.
One big fad from 50+ years ago that I'd welcome is folders. I don't want to just have all my repositories appear in a flat list ordered by time since last update. I want to make folders so I can organize repositories by topic--just like I have my repositories organized in my computer.
We started out not knowing what anything should look like, we didn't even know what computers were suppose to do. Everything had to be envisioned and implemented. Different approaches were taken for a lot of things. Eventually we just know how something should work. At that point it can be abstracted away.
Similarly lots of things should stay in JS. If we've experimented and evolved to the point where we know how something should work we should grow beyond modules and have build in methods for it.
It is happening but much to slow in my opinion.
Say, we have a Date API, are week numbers a thing or not? Are they an unpredictable poorly understood thing? Does it bother anyone if the API supports it?
Everything should be able to migrate up and down from the metal to the highest level of abstraction depending on how much we use it.
edit: There is no point shipping [table] sort magic to the client on every page view that needs it.
It seems like you're simultaneously saying "sorting doesn't belong as a language function in JavaScript" and "we shouldn't ship a sorting routine to the client," which seems...odd. If the page view needs sorting, then isn't that the use case where we can most say that there is, in fact, a point to "shipping sort magic to the client"?
(Also, you can do an HTML table sort in about 10 pretty short lines of code[1], so this seems like a kind of weird hill to die on.)
JS should have an array sort function. HTML should have sort-able tables. We know what they look like. We shouldn't have to pump up our pages with a bazillion lines of js just to implement something entirely obvious.
IOW: If there is a table it doesn't hurt to be able to sort it by default.
The example is great! 10 lines... no wait... 30 lines... then you have something that... or no wait, it sorts numbers alphabetically. The cursor is wrong. There is no accessibility. The little arrows are missing ▲ ▼ did I pick the right ones? They look bulky, better add another span inside the th? Oh I clicked the th twice now the text is highlighted.
Why should I need to implement this myself? I'm not inventing anything new? I don't want to be dealing with colspan but we all know how it should work? I know its wrong but I usually leave out the <thead>, tables render just fine without it but when something generates tables like that the script needs to be re-examined to figure out why it doesn't work. There is some unknown number of other ways to break it.
A default implementation could deal with some common units out of the box. Monday could go in front of Tuesday, 50 cm could be smaller than 1 m, $100 could be bigger than $20. Just the simple obvious stuff. For everything else something like <th sort="foo"> with: foo = (a,b) => a.length - b.length
List items are a bit less obvious but I'm sure we can think of something sensible. Perhaps sorting by child class?
Not wanting to start a discussion about graphs vs trees for organizing, but in my opinion simple folders are great to fulfill basic needs. I cannot imagine a book having no table of contents and just a list of tags with numbers indicating relevant page numbers.
That is just dumbing yourself down in favor of machine classification or search algorithms while a simple solution exists for this problem for higher order classification and context, which tags alone fail to provide, even with sorting.
I think it depends on your goal. If I want to browse new chicken recipes, I am going to open the table of contents, find the section on poultry and start flipping through recipes. On the other hand, if I want to cook a chicken curry, I am going to go to the index and look up curry, then find the relevant page.
Folders are great for when you don't know what you want and just want to browse or explore based on broad topics. Tags/indexes are better when you know basically what you want, and you just need a way to find it or items similar to it.
Al entry should go in a single category, chapter or folder. The index should provide a useful overview. Tags you may have in any amount. More is usually better.
A tag with a single entry is useful. Chapters should never have a single entry.
With limited entries of text or code you can just have them all on one page. Slightly more requires a folder or category system. If you have even more you need tags you should also keep the categories (everything must sit in a single category), If you have even more you need categories, tags and search. Trying to use one of those for the wrong volume just creates clutter.
This so much. Another pet peeve of mine: GitHub is terrible for the workflow that Git was originally designed for. Specifically, the issue that there's no good way to review patch series. The key here is presenting a series of patches as a whole, but allowing reviews on individual commits of the series.
This is my second or third biggest problem with GitHub. If I want to submit a patch—the thing that Git was made for—I cannot use GitHub to do it. Assuming one has already gone through the "create a GitHub account" step, my closest option is to go to github.com to create a completely unnecessary on-GitHub "fork", go back to my local copy to add that remote and push to it, and then go back to the github.com and click around to submit a pull request.
Pull requests in Git were designed for trusted, frequent collaborators. I.e., project maintainers that are routinely syncing with one another. It's not supposed to be the preferred mechanism for ordinary contributions, and certainly not for drive-by contributions.
My biggest gripe, though, is that the on-GitHub fork from the first paragraph will live on in my namespace forever, unless I manually prune it. And even if I do prune it, I still have no way to control the fact that GitHub has silently set up a social networking timeline to broadcast a centralized index of all this activity to anyone and everyone, without asking me, and without a way to manage the stuff that goes into the timeline, control who it's shared with, or turn it off completely.
Not really. You cannot comment on the commit message itself. And, if I'm not mistaken, changes made in one commit that are undone in a subsequent commit won't show up even if the files view if filtered by commit.
Also, it's difficult to tell which comment is associated with which commit.
I don't think I ever factor in commit messages into my code reviews. I may look at the commit history if I want to see how they experimented implementing the feature, but I only care about the end goal and the code I will be merging in at the end.
The issue is that Github actually discourages reviewing by commit because it makes it difficult to do so. Though there are those who are only interested in the overall diff, there are others who want to be able to maintain a clean and informative history via version control. When the review system makes it difficult to ensure that's the case, then then version control history cannot be maintained.
Precisely. We're in a vicious cycle where most people using Git don't use what ought to be Git best practices for most serious large scale projects (clean history with self-contained logical commits and good commit descriptions) because GitHub makes it so difficult to do this. And to be fair, GitLab really isn't much better in this department.
And there isn't enough pressure on GitHub or GitLab to clean up their act because most people don't even know what they're missing. And so the cycle continues.
If you use squash and merge this won't be a problem, you will have a "clean history with self-contained logical commits and good commit history", and intermediary commits won't matter anyway.
Some features take more than a single logical commit to implement. Looking at the git mailing list, I see patch series containing anywhere from 1 to 10 commits (with some as many as 15 commits).
Also, having a single commit touching many parts of the code makes it harder to revert due to a greater chanche of conflicts with other commits.
I’ve recently switched from GitLab to Github enterprise due to a job switch. I am shocked at how bad Github enterprise is to navigate. It seems like I regularly have to depend on the search function to find the repo I want.
Yay! There's one thing I would absolutely love about having a blockchain in GitHub: The transfer fees.
If everyone had to pay $1 to submit an issue and/or a pull request, open source projects would get a lot less "support spam" :)
Also, it would certainly help if people need to wait 10 minutes for their last comment to be accepted into the network before they're allowed to comment again.
> If everyone had to pay $1 to submit an issue and/or a pull request, open source projects would get a lot less "support spam" :)
I dunno, that seems odd. Do you not want to know about bugs in your project to make it better? I realize people will submit a bug b/c they can't figure out how to implement something but that is worth being aware of real bugs in the code.
Now if you could "tax" the "+1" spam culture, I'd be all aboard that
Thats possible now, right. If they supported it more I’m not sure how much value over just encrypting blobs. I wouldn’t trust github’s clients or servers to do it for me.
Keybase's remote helper (which does the crypto) is open-source, so if github did something similar you wouldn't need to trust them. That's the value of e2ee -- you don't need to trust the intermediaries, whether they start misbehaving, are forced to hand over data, get hacked, etc.
There was this one guy, whom was a cryptocurrency fanatic but not a developer, who tried to convince me to get involved in a "blockchain code database for developers". I told him that Git uses a blockchain, and he simply couldn't accept that a blockchain has been used for years on something that isn't cool or possible to monetize.
It's pretty funny how people still think that a blockchain is this magical thing, yet I'm pretty sure anyone on HN is capable of writing a blockchain in an an hour or two. Maybe even less than that.
> Such features are only conducive to drama and anxiety
Great point. I haven't used a social network yet that didn't result in me becoming at least a little addicted at one point or another. In high school, I was constantly on Twitter, seeking the dopamine rush from those likes and retweets. Getting out of there has done wonders for my personal life.
I didn’t really get the impression here that Jared wanted a social network. He just wanted a better mechanism for discovering good quality and interesting projects. Popularity is often one good signal.
I'm not sure Github stars were/are ever an indicator of "good quality" or even "interesting".
And I think the Web Development community could do with a decent break from "new" as well. What would be great is if we could just prune some of the gajillion frameworks and libraries already out there, and spend some time to make the ones we keep decently robust and elegant.
GitHub stars suffer from the same problem as likes on Twitter or Facebook. A social network would actually need three separate kinds of positive interactions:
- a like ("I want to let the creator know I like this.")
- a share ("I want my followers to know about this.")
- a bookmark ("I want to be able to find this again later.")
Most social networks only have the first two. GitHub, even worse, only has one. (I personally use stars exclusively as bookmarks, btw.)
Yes, exactly. I'm more likely to star a small project that I find interesting even if flawed because I don't want to lose track of it. I don't really understand why I would need or want to star React or Nodejs for example. There is zero chance I lose track of those projects.
For me, this is a positive thing. With this, I can find some niche things that I can't find otherwise. People star it because it provides some value to them.
I wouldn't "like" project that are broken or half done, but I star it if it can solve my problem.
On the other side, when somebody stars my project I will invest more energy into it because I see that it is useful to somebody else, not just me. Most of my projects are sparsely tested, because usually I'm the only user and it is not mission-critical. When it's broken I usually know where. When I see starts appearing on my project I add more tests and handle edge cases better, so new users have a better experience. If they would only bookmark it, I wouldn't know if somebody wants to use my software. And they would also have a bad experience, and maybe drop it after evaluating as a piece of crap.
I hate to say that I actually like that idea. I'm swamped in random notifications for weird parts of the repo I don't care about. I'd really like a "high # of comments and reactions/loc changes" feed.
Imo, Github has only been moving further in the right direction lately — and more social features ain't it, chief.
The better value proposition lift from giving folks and teams more free private repos was huge, and the increasingly-prominent integration of Github into enterprise tools is facilitating (if not helping to force) the modernization of enterprise dev outside the software industry.
I've never been a bigger fan of Github, personally. Microsoft seems to be doing the same with Github that it did with Minecraft: amplifying what it does well, fixing what it didn't, and making it more accessible to more folks the way they want to consume it — all while not compromising what made it great to begin with.
Second this. With GH now letting you create Organizations with private repositories, it's starting to transform how I store core on GH.
All of my "big" projects on GH have more than one repo, usually 2-5 depending on what all work needs to be done. Before GH allowed you to create private repos in orgs for free I had hundreds of repositories and had to name them like projectname-website. Now I create orgs for my biggest projects so all my repos are starting to look more like projectname/website instead.
I'll admit, very small change but helps me keep my Github organized.
---
Overall Github has gotten only more and more important in my workflow. I find it amazing that this site went from "cool tool" back in my college years to "I literally cannot live without this tool" now.
I can’t wait for GitHub to support hierarchical orgs (like GitLab). I’ve started using GitHub for enterprise and it’s hard to have separate orgs or giant orgs as the two options.
Being able to nest orgs will be great so it’s still easy to organize an entire org as well as the ability to drill down.
Even better would be a tag-like structure where orgs can have relationships other than hierarchies. Topics doesn’t really do this now, but maybe could if they improve the topic search.
Previously, organizations only allowed creating public repositories, so they were limited to open source projects unless you paid $9/user/month. Now they enable free private repo creation for organizations, although many "business" features like protected branches still require the Team plan (now $4/user/month) https://github.com/pricing.
As a Minecraft player, I agree. They let the teams run with more resources, and it has shown in both quality and features in both companies. GitHub recently has been killing in with features IMO
As a Minecraft player as well I disagree. They split the community into Bedrock and Java Edition players. Even very basic game and redstone mechanics differ between the engines.
The Bedrock edition introduced paid resources which would never have been a thing in the Java edition.
Instead of considering cross-play to support the amazing work the CraftBukkit/Spigot devs, they opted to create a new protocol and split the player base. I didn't like the direction where Windows 10 Edition was heading, but I'm glad that there are still thousands of players on Java.
Minecraft already had a mobile app on a separate engine before Microsoft bought it, so this isn't necessarily something Microsoft is at fault for. They just turned it into "bedrock edition" to get it working on Windows and consoles in a cross-platform way, something that likely would have taken a lot longer for the Java edition to achieve.
That's true, I mostly stayed away from Bedrock, so it's hard to say on that front. I understand the split, but Java itself has been very well maintained
Well, this is a clear disconnect in their audiences. What the author misses are aspects of open-source, what you like is making it better for the enterprise.
I've sworn off Github for my own toy projects. The code I write off the clock is a form of escapism, I don't want to run the risk of having my repos nuked from orbit for any inadvertent profanity, nor do I want to triage issues from people taking issue with how I've named things, or forcing me to adopt an ultimately meaningless boilerplate CoC. I don't want to have to write a novel on why I'm not a racist or a fascist like Antirez recently had to.
I'm not implying that I would face all of these issues on Github currently. But I don't want to run the risk of being in that position and getting into a shouting match with someone - and then having to deal with all of the consequences.
Are these problems you've actually had? I have various stuff on GitHub and none of this has remotely happened to me. What you're describing does not jibe with my lived experience of what GitHub is actually like.
"Cop" suddenly became a problematic word and you can read the comments in that issue thread. Imagine you have some repo like "PinkKitty", and then someone blows himself up dressed in pink and pink becomes a symbol of Jihad or White Supremacy or what have you. The same kind of people will then come to your repo and harass you and your unpaid work.
Oh wow, that was hard to read and I only made it through the top 10 comments. Getting brigaded because some people are over sensitive must be a horrible feeling.
I've read that thread a few times and I see the people requesting the change doing so in a calm, reasonable manner. The only non-productive posts I see are from people who are vehemently and acerbically against it.
> emilyst commented 11 days ago
I live in a country with a real dictator (although not on paper), unchecked police that's just an instrument in the hands of the government, and while no one here has any fondness of the Bulgarian police as an institution or our cops, I don't have any issues with the words "police" and "cop".
"works on my machine"
Additionally I haven't seen a single comment that is "acerbically against it" just calm people making reasonable arguments to not virtue signal. Especially in a way that doesn't even make sense.
When people complain about the OSS community and github this is what they mean. A bunch of rando's who had nothing to do with a project chiming in with breaking changes bec of their feelings. It really is a great example of what the GP is talking about.
They high-road the guy until their's no room left for discussion. They stop just short of calling him a racist authoritarian for naming his package RuboCop years ago. The creator isn't even from the US, it's a bit ignorant to assume the entire world shares their personal world view, and worse to assume the rest of the world should cater to it. I am entirely sympathetic toward the US' plight right now, and we have had protests in my city in a different country in solidarity. But it's a US systemic and cultural problem specifically, we probably shouldn't accuse random people from other countries of being racist just because they aren't immediately up to speed with your issues.
A ton of people out there want to prove to themselves more than anyone else that they care about this by doing totally meaningless things like renaming a project that has been maintained and used by thousands of people for YEARS and known throughout the entire (international) community as rubocop with all the reputation, tooling, clout, etc. built over the years, and completely destroy all of that just because you're sad and you feel like doing something to make yourself feel better.
The level of entitlement is just over the top. You don't like the name, fork it, rename it, and use that fork. Advertise it if you want. Don't come and demand from maintainers that have worked on this for years, for exactly zero dollars, to do such a thing. Honestly this is just another thing that turns me off from open source development.
That "works on my machine" comment in particular is flippant and definitely degrades a complex discussion in my opinion.
The project name is a pun on a science fiction movie, if the (unpaid) maintainer does not want to change it for compatibility reasons, that's entirely understandable. People should donate money or contribute substantial code effort towards the name change if they care enough.
Yeah, that remark really bothered me and I felt like it misunderstood the point.
"Works on my machine" is shorthand for the flippant dismissal that, "I don't need to care about that bug because it didn't show up or cause problems in a deliberately ideal environment."
The repo author is saying the opposite, that it "works" even in "non-ideal environments". That is, he has no inherent negative association with "cop" even in a near-dictatorship where, in practice, most cops are bad and work with impunity, since he thinks the concept is legit (enforcing law and order) even if particular jurisdictions get it wrong.
So, if anything, he was saying, "it even works on forgotten legacy systems"...
>The goal of this project is for the rubocop folks to merge this back into rubocop project, and rename its org/repo/domain/etc
>The goal is NOT to maintain an ongoing parity fork of an active project
Insanely entitled in my book and far from what I'd call calm or reasonable.
It is the opposite of calm or reasonable. It is impulsive and downright flabbergasting that one would be so entitled to expect this kind of change to be merged into mainline rubocop backed behind such weak arguments.
I agree, practically everyone who's upset in that thread is villifying "SJWs" and "thumb democracy". I get this is a hot topic and people have strong feelings about it, and it's important to consider that the maintainer of this project probably feels personally attacked by this. But this is how discussions happen, respectfully, calmly, with educational links. 15 issue comments isn't "brigading". Asking someone to consider that the name of their project is problematic isn't shaming.
What's fascinating to me is this sort of abrupt and demanding language policing seems to overwhelmingly be a phenomenon with white people. This is very strongly reflected in those comments. This is something I've repeatedly noticed; I don't have much insight or commentary beyond the observation itself. (It's also very US-centric, though that is less surprising to me.)
If I were to reach a bit and try to look under the hood at what might be going on, I'd wonder if this behavior is itself an expression of white privilege in America. After all, these demands are based on the idea that one can change usage patterns overnight in one of the most widely spoken languages in the world. To try to exert so much immediate control over something that cannot be owned and that exists far beyond this one country seems to be a very privileged position to take.
I'm not normally a Malcolm X guy, but I read this quote from him recently and I feel like it put into words my feelings on these type of things far better than I ever could.
> The white liberal aren’t white people who are for independence, who are moral and ethical in their thinking. They are just a faction of white people that are jockeying for power. The same as the white conservative is a faction of white people that are jockeying for power. They are fighting each other for power and prestige, and the one that is the football in the game is the Negro, 20 million black people. A political football, a political pawn, an economic football, and economic pawn. A social football, a social pawn. The liberal elements of whites are those who have perfected the art of selling themselves to the Negro as a friend of the Negro. Getting sympathy of the Negro, getting the allegiance of the Negro, and getting the mind of the Negro. Then the Negro sides with the white liberal, and the white liberal use the Negro against the white conservative. So that anything that the Negro does is never for his own good, never for his own advancement, never for his own progress, he’s only a pawn in the hands of the white liberal.
I'm not saying every "white liberal" is like that, or even that they are doing it consciously, but looking at things like this makes me think the people who are arguing for the name change are doing it so they can feel good about themselves while solving a "problem" that wasn't really a problem.
Additionally, I'm not against changing hurtful terminology, but when I see white men arguing white men about what is best for other races or sexes, I kind of roll my eyes. As a white man, I kind of feel my role in all this is should be to listen, understand, and follow.
You'll quickly stop being surprised on this one because this change is inevitable across the industry in the coming years. I too had the same reaction when I was first exposed to the change a year ago, but now I'm "meh" about it. Language evolves a lot over time, surprisingly quickly. And allowlist/denylist really are better words to describe what's going on, even ignoring the other connotations.
Another similar change that's rapidly approaching is renaming the master branch to main (which, again, seems like a superior choice to me even divorced from the larger cultural context).
RuboCop is probably a trademark violation. I wouldn't have known it was a linter without another post in here mentioning a fork that changes the name. It's the first result on Google for "ruby linter," but it's half a page down on DuckDuckGo.
I didn't really have a problem with "master," but it does seem like it tracks back to master/slave tapes based on a mailing list post, and there are clearer terms to use.
And so on. If people are going to call to arms over a name or term, can it at least be one worth defending? For an industry that worships at the altar of Move Fast And Break Things, some people get extremely conservative about strings of glyphs.
Good point about GIMP. That always was a terrible name. Sometimes we coders are too "clever" for our own good and need someone who knows about branding to rein us in.
It'd be one thing if these changes weren't improvements, but they are, and opposing them solely because someone you perceive to be an "SJW" is proposing them is overly reactionary.
How likely is it? I don't refuse to swim in the ocean because of the very rare shark attack. You can always point to the most extreme examples of something but if 99.99% of people will never be affected by them, then why make them the primary driver of your decisions?
Also, that link isn't even that bad in the grand scheme of arguments I've been involved in online. It's no proverbial shark attack. You can easily just ignore it and move on with your life.
I don't see what's so bad in that link. It's not a good suggestion, but it was made in a polite and respectful manner. There was some good discussion, and ultimately the creator said no and laid out his reasons why.
The only people derailing that thread by being hostile or aggressive are the people who oppose the suggestion.
> I don't want to run the risk of having my repos nuked from orbit for any inadvertent profanity
If they did, it doesn't sound like it would affect you if you already keep your repos locally anyway.
Your point is totally valid, but I don't think that means that GitHub is a bad storage medium. It does mean that it's smart to always keep local copies of your code, as is true for anything one might keep in the "cloud".
Keeping a copy in the cloud could be zipping the dir and sending to s3. Interacting with GitHub and all its community features is something else and having that get nuked for some reason is a different thing.
In which case wouldn't you want to run an instance of GitLab? That seems to be different from just keeping personal code somewhere without the need for community/organization features.
I've just setup gitea on my home server, it lets me sidestep any issues like this and allows me to not contribute to the continued centralisation of a decentralised version control system. I think I'd like to see more people and projects go this way.
How does moving off of Github solve any of these but the first one? If you make the mistake of your software project becoming popular, and you give a shred of an indication that you're open to suggections/criticism/commits, you're going to get tons of emails telling you what to do and how.
If you have your own server and need a Github-like webinterface, gogs [0] and Gitea [1] (a fork of gogs) are stable and very easy to set up. I have been running gogs for a few years now. For me it contains the perfect subset of Github features. Previously I just pushed to a bare repo on my server via SSH.
The git.sr.ht service is just the tip of the iceberg, though. It also provides you with CI, issue tracking, mailing lists... And it works perfectly in Lynx so you don't even have to leave command line to use the browser interface.
How would this happen if you kept the repo private?
Private repos are free now and most of my toy stuff is private (maybe shared with a friend I happen to be working on it with)
Kudos. You've found a perfect solution that works for you and doesn't try to move society in a particular direction. Even better, you're not trying to stop others from moving society in their favored direction. Win-win, right?
The master and slave debate was dumb, and reflects a creeping of political correctness into coding and software over the years that I do not look forward to. React’s keywords have been similarly attacked for promoting a “bro” culture with use of words like props or mount. And man-in-the-middle attacks are increasingly being described as person-in-the-middle, at the expense of alliteration. So many other examples out there.
This is a bit longer than I intended, but is my point of view, and not intended to dismiss what you’re saying at all.
I think it’s easy to dismiss conversations like master/slave whitelist/blacklist as overly PC or childish. I certainly don’t appreciate the overly-preachy feeling I sometimes get from people pushing their point of view. And my nature is to find pleasure in giving The Man the proverbial finger. The self righteousness can be intentional on their part, of course, but many times it’s not. I honestly get the similar feelings about the diet-of-the-year fad, too. I have been very lucky in life so far, in that I haven’t struggled with weight or the negative impacts of racism. But I’m discovering that language is an incredibly powerful tool for changing deeply-rooted habits, like which foods you find comfort in, or your default reaction to conflict. When I’ve become an unwilling participant in these changes, I have to ask myself: what is the balance of pros/cons for me and for others? Also, what is my net influence on others who are attempting to do good (no matter my opinion on its effectiveness)? I don’t think I’ve ever changed the default branch for any GitHub repo I’ve worked with. It should theoretically cause no issues at all, I suppose, but I can’t state that with certainty. So there’s a bit of a challenge that I’ll actually enjoy. And I’m not aware of any culture or richness of vocabulary that depends on the dynamic of this set of nomenclature. Besides, I still see words like “serf” and “lord” on a semi-regular basis despite it’s remove from our lifestyles, so these words aren’t disappearing any time soon.
On the other hand, it’s hard to deny that racism has scarred our society very deeply. I remember being shocked when my wife told me how young age was when someone first attempted to take advantage of her for sex. I recently felt the same level of shock when my friend told me that she gets called the n word multiple times every day. If our vocabulary can change our mindset, then maybe removing the master/slave dynamic can be a net positive, like removing the vocabulary of war from our daily interactions. We end up turning to other defaults instead of the old ones. Maybe we end up no better off, and decide to change again. Who knows? But personally I don’t see a lot of downside in the attempt to better our world.
My initial thoughts on the matter were similar to yours. Why not perform a simple search and replace on the source code for a contentious word? Or click a few buttons to change the default branch?
The problem is in the unintended consequences. Once we started accommodating requests to change potentially-problematic words at my last company, those words went from "possibly problematic to someone" to "officially confirmed as offensive by company policy".
From that point forward, many people assumed that anyone accidentally using those words had ill intent. This peaked when an interviewer chastised a candidate for referring to the "master branch" during an interview. We also had someone try to cause problems because our Linux systems had "man pages", which they believed was proof that Linux distributions were sexist. It's one thing to search/replace your documentation for a specific word, but just wait until you have a team of people brainstorming complex plans to remove "man pages" from every Linux PC and server in the company.
Ironically, once we stopped making company-endorsed efforts to navigate problematic vocabulary, the number of people offended or insulted started to decline. The policies had the opposite of the intended effect.
It's one thing to make a personal effort to use a less contentious vocabulary. I have no problem with that, nor should anyone else. However, the problems come when using industry-standard vocabulary is assumed to have ill intent. No one wants to operate in an environment where they can be declared to be racist, sexist, or otherwise prejudiced for using a basic technology term without ill intent.
> people assumed that anyone accidentally using those words had ill intent
That's becoming a thing at my current job. I'm just accepting that I will eventually slip (or even just fail to keep up with the trendy list of bad words) and get fired.
> We also had someone try to cause problems because our Linux systems had "man pages", which they believed was proof that Linux distributions were sexist.
This is a really interesting example. Naively, I'd expect the meaning of a word to matter.
Do you know if the person advocating for this understood the etymology?
> If our vocabulary can change our mindset, then maybe removing the master/slave dynamic can be a net positive, like removing the vocabulary of war from our daily interactions.
I'm not sure what you mean by "removing the vocabulary of war".
> But personally I don’t see a lot of downside in the attempt to better our world.
I see tons of downsides; people are losing their livelihoods over the mere appearance of impropriety defined by activist narratives. Putting so much weight into these types of things may unexpectedly cause us to view social justice in the hollow terms of performative things like word choice instead of actual equality, etc.
Which jobs have been lost by the master/slave debate? I see people losing job after harassing Black bird watchers in park due to public outrage, but I don't see a lot based on those vocabulary discussion.
You know as well as anyone that people are losing jobs over the appearance of impropriety along very unforgiving, if not baseless grounds. Probably the most egregious so far is David Shor. These aren't racists, they're pretty normal liberals being singled out for any divergence from the BLM (organization not the ideal - read: Marxist ideologues) narrative.
Along similar lines, this guy that got booted from a climate change event for a past tweet that mildly linked COVID-19 and China:
>"COVID has taught us that the world is far more interconnected that we originally thought...we can’t always put ourselves first at the expense of others.
>
> It’s also made us realize that we are far too dependent on—and gracious to—China."
> like removing the vocabulary of war from our daily interactions
What I find funny is that the 'vocabulary of war' gets about 100000000x more actual discussions of war and how the US is regularly killing people and has been engaged in ongoing war for 20 years and about 1000s of other way more harmful things.
Apparently nobody gives a single shit about that stuff.
I don't really care about changing the vocabulary for these technical terms and enough people go crazy over it then lets just change it so I don't have to deal with the discussion. I certainty wont waste any energy defending the master/slave terminology, I doesn't really make any sense anyway in DBs specially.
Changing the default away from 'master' in git seem totally pointless as the term master is not only used in a master/slave context but in many other context as well. Its not like we have the master branch and slave branches. Again, I also don't care if we change it.
One of the issue with white/black is that the night bad, day good dynamic goes back 10000s of years. The same patterns exist in African and eastern religion and imaginary, so not sure purging all use of the color black for 'bad' is sensible.
Is the term Blackmagic or Black Humor also offensive now? I don't even no. I like Black metal, is that offensive? I hope not because that would be taking it to far.
I agree that overly-aggressive terminology is widely used, pretty much everywhere. Clickbait articles particularly: “They evicerated/destroyed/devastated them”.
But even the use of the word "master" as it relates to the primary copy seems to be related to a master, as in one who guides or rules others. So that seems to still be related to the master/servant relationship. I'm not an etymologist, so someone could point an error here.
The point isn't that every person from Linus on has been engaged in a giant conspiracy to spread hate via git repos (Side note: would there be a secret code you can interpret by arranging hashes in a particular order?). The point is really that our language and culture contain countless reminders of the belief that not all people should be treated with equal value, to the point that we've been using them without regard to or even understanding of their impact.
I think the debate on language is part of a greater discussion in the field as to the fact that software development and other tech fields are disproportionate in its representation, whether or not it’s a problem, and how to resolve it. These sorts of addresses approaches in language are an easy and immediate signal, like switching from language like policeman, postman, etc.
Arguably it is much harder and will face much more resistance if GitHub attempted to solicit internship programs, scholarship grants, and supported programs necessary to churn the wheels on rolling back the factors preventing our field from being friendly to a broader demographic set of people.
I agree with your point. Engineers love to use signaling as a tool to prove points, yet are conveniently saying signaling doesn’t matter here. It’s signaling that prejudice and racism matter.
Yes, I think that it is an easy signal that Microsoft (and GitHub) believes racism and prejudice is worth an adjustment in language. It’s much harder to actually perform systemic changes and I’m sure people would do plenty of gnashing of teeth about any significant movement, such as if Microsoft had grants only available to BIPOC (black/indigenous people of color, who have unique hardships in discriminatory systems in America compared with Indian or East Asian people who have and continue to face discrimination but they do not largely have existing government sanctioned forces to disenfranchise them from their birth to their death.)
I think I follow what you’re saying. And I don’t think it has to be one or the other.Corporations and People need to both signal and action towards more equality. It doesn’t have to be one or the other.
It is much harder but through signaling we raise the importance of the issue and increase the likelihood for action.
I think both is indeed important. But I also think (and wish to focus on) that if Microsoft/GitHub leadership wish to indicate that they care about systemic racism and racial bias/inequality in their workplaces, they cannot stop at language adjustments on their platform. They must put up capital.
(Also, I think that criticism that only language changes are relatively useless is not without some substance. If we had more BIPOC in our workplaces and leadership, and it is something black people in tech advocate for, then it is a problem that would solve itself because tech companies would have to choose between losing their CTO/CIO/Chief Architect/Director of Technology Platform Worth $$$$$ and adjusting their language to be welcoming to their employees.)
I've always held the same view, I call it "companies taking the easy way out". Another recent example is Disney making the lion cast in The Lion King 2019 live action movie black. What a completely disingenuous statement. Disney could actually fund and make their first black male lead in a Disney movie, which would actually contribute significantly in addressing systematic racism in at least the movie/animation industry. Instead Disney chose to massage their egos so that whenever they get called out for the lack of black characters in leading Disney roles they can say but we had an all black cast for the lions in The Lion King.
I think it is not logical to take a single argument and ascribe it to a greater movement. I once knew someone who claimed to be a feminist who told me there is no such thing as consenting to penetrative sex (that all penetrative sex is rape). But it would be unreasonable to assume this ascribes to all feminism, or more obviously that all women felt this way because I saw it in one woman.
I do feel a lot of the fear around PC is based on taking extreme examples and thinking everyone is trying to destroy things. For instance the Rubocop - someone suggested it, some people agreed, some people disagreed, and ultimately they did not rename it.
The React props and mount thing is just ludicrous...unfortunately the people with the most extreme viewpoints often shout the loudest.
Yes I agree that the props/mount thing is silly, which is probably why it's only seen in one discussion years ago and hasn't gained any traction since. It's far different than the issues that garnered the rise of community guidelines, which were broad, systemic, and repeated in several communities.
It didn't gain traction because the woman who brought it up was told to fuck off. It almost would have gained traction if just a few more people decided to agree with her, but the resistance was instantly discouraging.
There are plenty of folks who are more worried about looking for the latest crusade to join than who are worried about a well developed view of any topic (feminism, transgender rights, etc). These folks will use any and all excuses to jump on the attack bandwagon, and that they happen to be self-labeled progressives is itself almost incidental at best.
Rage mobs aren't new, they still can cause plenty of damage and ruin careers.
And I think it is unreasonable to assume that a single bad take on a subject made by an anonymous user years ago should be held as an example that there is an overwhelming movement of harming the OS community. It is simultaneously possible that plenty of individuals have uninformed, clumsy approaches to a topic and that it is not an overwhelming movement or agenda.
> an overwhelming movement of harming the OS community
I think there's no global intent. There's no formalized group that has a weekly agenda of "Destroy Opensource!"
> It is simultaneously possible that plenty of individuals have uninformed, clumsy approaches to a topic
Right and this is what I mean by the crusade/rage mob analogies. Somebody gets upset about something, and they may be genuinely offended (and still wrong), so they go to Reddit/Twitter/etc and create a post "I can't believe X is doing Y! They're evil and we should stop them!"
Now, there's a whole bunch of people who don't have nuanced well researched opinions on X or Y. They just want to be upset and have a good fight, and this is a nice convenient thing that feels just to fight about. So they hop on and start jumping in on a side. This is why I use the crusade analogy - you don't care about the pretense, you're just in it for the battle.
The issue with rage mobs, whether it's in regards to the open source community or what broadcasters can air on television, are purely destructive. They don't care about fixing problems, they have no interest in improving the community or advancing things, they simply want to join in a fight and express anger. If a rage mob gets it's demands (you cancel that sitcom that portrays a gay family positively) then the mob doesn't go away - it just finds something else to attack and eventually it attacks itself.
I find crusade a very poor analogy because it implies there is an organized force (the crusades are a well-known religiously motivated militarization). I also struggle with this idea of rage mobs, because like I've brought up before, it's difficult to assume a mob exists right now because of a bad take someone made years ago. That seems, on its face, dissociated from how reality functions.
It speaks of privilege to think having a debate on this is dumb. It's literally how human beings reconcile issues. You want to outright refuse the possibility that this is an issue to begin with.
If you want to keep using your colonialism-inspired language, go ahead and ignore the critics (surely you can't believe github is going to ban you over it) but do not complain about this criticism existing because it makes you uncomfortable that someone does not like the language you use. That's not very liberal.
The word "privilege" is derived from the Latin "privilegium" , specifically its historical medieval use in laws like the Privilegium Maius and the Privilegium Minor, both of which were legal instruments of autocracy and imperialism. I think you should reconsider your use of imperialism-inspired language.
I don’t think it ever ends and I don’t think it needs to. We live the human experience which is subjective and we use language to communicate that experience. Until we become a singular entity we will always rely on language to externalize our world, because of that we should always think about the language we use to communicate and express ideas. Words shape the world we see and the world we experience.
The point is, there will always be something some people will find offensive. How long before "animal" or "robot" are found to have undesired connotations?
Or, you know, you could just not name your things master/slave and outright mention you do not take contributions if you do not care about doing that right either?
Literally read a post about some terminology that used red/green in them, and how that was biased against the colorblind. Not that some interface used the colors red/green, but merely the terminology used the words. As a red/green colorblind person ... words fail me at the stupidity of that.
red/green is commonly attributed to testing - usually the interface has red and green, though.
I just dont get how people get offended over such stuff, like err... "Mains in computer engineering"
Lynching black people and hanging them from trees where their red blood ran. "Red black tree" reduces that history to a mere three words and should really be changed.
That may sound preposterous, but it's making the same claim as the rest of the moral panic over names in tech.
Agreed. HN and reddit are way better at helping me find repos that are relevant to my skill set and interest. It’s like the author doesn’t even try to utilize these other social spaces that have already largely solved this problem.
Sometimes I come across people whose idea of a perfect world is an app that knows exactly what to show them and when without any curiosity or effort, and it blows my mind. That is my hell.
I recently set up a LinkedIn profile after avoiding them for many years, and was horrified to discover that there's now a "Facebook wall" feature, replete with all the horrible political conversations that made me abandon Facebook. It's totally in-your-face, too; it's the default home page and the default Android app page. I don't want to see what people I've connected on LinkedIn have to say about, well, anything. I only maintain social connections there to help me network with potential employers. I'm deleting my LinkedIn profile as soon as I connect with my next employer.
Unless recruiting or sales is part of your job, the best approach to LinkedIn is to set your profile up well, connect with the people you know and then go to Settings & Privacy -> Communications and switch on email notifications for direct messages you receive. Then you'll only ever have to login should you get an email about a message you might be interested in replying to.
There is absolutely nothing of value on LinkedIn for the average person beyond being a place to host your resume for discovery.
I wanted an online resume and refused to sign up for LinkedIn, so I built https://standardresume.co. It's free to use the web version and can automatically import the data from your LinkedIn profile. I'm curious to hear your thoughts if you have a few minutes to check it out.
As somebody who is guilty of this, my rationale is this: I went to slack/discord/IRC channels, asked for help and... almost no answer. Ask the same question in a comment of a popular issue or a new issue, and you get your answer (with some delay). The thing is that GH issues have replaces mailing lists/usenet for this kind of questions since the friction is way lower, it's async and the question goes to the right people.
GitHub's time as the "cool" option has ended. It has matured and moved beyond the early adopter community, and presence on it is no longer a social signal of any significant relevance.
I use GitHub to get work done, either on my projects or on others. I do not expect GitHub to innately provide me a degree of fun. That's the job of the projects, not of GitHub itself.
Zoom exited the early adopter phase this past pandemic. It promptly was given significant attention, reasons were found to declare it "uncool", and Jitsi was elevated as the next "cool" replacement.
This article confirms that GitHub is now exiting the early adopter phase. Significant attention is being paid to it, reasons are being found to declare it "uncool" — but, no replacement has yet been elevated as the next "cool" replacement for it.
> What will GitHub's replacement "cool" service be?
Hopefully this will be ForgeFed [0] standards support, allowing forges such as github, github, gitea, sourcehut, notabug, etc. to interoperate via ActivityPub-based federation.
ForgeFed opens walled gardens and allows anyone to interact with any repo with a single account regardless on where it resides. It is still in early development stage, but received funding from NLNet which will be distributed among contributors working on roadmap items [1]. Additionally feedback is requested via the Feneas forum [2] so make yourself heard :)
Last time I tried Github Actions I was shocked at how bad it was. Somehow over and under documented at the same time, and overly dependent on third party repos to accomplish the most basic tasks. I gave up and used CircleCI.
When I started using it it was free private repos and CI minutes.
Whilst GH has duplicated these features very recently, they are still things that are at the core of gitlabs offering, so are generally higher quality and better supported.
Gitlab is also open source, which lets me mirror their repo locally in case they die or remove a feature I use.
Oh, and gitlab isn't systematically racist, which is always a personal ethical win.
Shout out to sourcehut as a possible next cool thing - currently in public alpha
> Oh, and gitlab isn't systematically racist, which is always a personal ethical win.
Wait, what? How is GitHub "systematically racist"?
> Shout out to sourcehut as a possible next cool thing - currently in public alpha
Sourcehut seems like a niche product for a niche audience. That's not a criticism – if anything, that's a compliment because too often people with niche needs or preferences are left out in the cold, but I don't think it'll be anywhere near the "next GitHub".
They're probably referring to a code-of-conduct document which has been attributed to GitHub, although I believe the document is (was?) actually maintained by the TODO Group, of which GitHub is a member.
IMHO the gitlab CI service makes a lot more sense though, github has this weird concept of "Actions", and running CI/CD/... is some "shortcut" that was added as an afterthought because nobody could figure out how github actions are supposed to work for something simple as "please just run this script after each push".
It's really hard to understand what you're trying to say here. I use actions a lot. There is no distinction between actions and CI/CD here. The context of this blog post is a set of features that were added to actions (during the beta!) to better support CI/CD workflows. There is no CI/CD "shortcut", like you say, bolted on to actions.
The alpha was rougher (and completely different) but that's why it was called an alpha!
I guess what I wanted to say is that gitlab's CI/CD solution makes more sense because it was specifically designed for CI/CD, while I seriously didn't understand what problems github actions were intended to solve when the beta started. Only roughly a year later a simple CI/CD system was bolted on as an afterthought. This isn't a showstopper, but it makes the overall system needlessly complex and hard to understand if all you need is a CI/CD solution.
When I worked with gitlab CI, I've read through the documentation, understood immediately how it works, and had a pipeline up and running half an hour later.
When github actions was started, I approached it with the same mindset as I approached (for instance) travis.ci, AppVeyor or gitlab CI. But after reading through the github action documentation I had no idea how to make this work for a CI/CD workflow, so I ignored it and continued using travis.ci and AppVeyor for my github projects. Only roughly a year later the above mentioned CI/CD support was added to github actions, which finally made it useable in the same way as all the other CI services.
So my suspicion is: github actions was going to be a new "revolutionary" thing with a much wider scope than existing CI/CD solution. But most people didn't understand such a "visionary" concept, and instead just wanted a simple CI/CD service similar to all the 3rd party solutions that already existed, only better integrated with the rest of github.
And that's why I think that gitlab's integrated CI/CD service makes a lot more sense. It was much more focused on the developer's needs from the beginning.
Thanks for the reply. What do you mean by a CI/CD system?
I'm not sure what you think was "bolted on" to actions, could you be specific? Features have been added (during the beta and since) but I can't think of anything that could really be described as "bolted on". "bolted on" to me implies some kind of disharmony with other features, weird quirks etc.
> I seriously didn't understand what problems github actions were intended to solve
You can run arbitrary code in response to any GitHub repository event, and also cron jobs and external triggers (a GitHub app can POST to a specific API to trigger those style of workflows).
The code runs with access to GitHub APIs for your repo (it can clone it, leave comments, create new PRs, whatever), and in any event that is associated with a PR a check status gets added to the PR.
This is a pretty general-purpose tool and I think it's easy to imagine the kind of problems people would use it to solve...
> my suspicion is [...]
Honestly it sounds like you're not really familiar with it and have some strongly negative opinions. I'd recommend either giving it another look and putting aside your feelings or working on a more substantive critique...
I mean, I get the "new" Microsoft. And I get that this is mostly a street-cred move by them, and they'll try to not mess it up by interfering with it. But still. That's now. What happens when the next shake-up comes and there's a push by the accountants to make money off everything, that's the important bit.
It's like Atlassian taking over Trello. They'll mess it up, it's just a matter of when not if.
Just to clarify here. It's only been owned by Microsoft for about a year now.
Before that they were their own company. And as far as I know, the source was never OSS to begin with. Microsoft didn't swoop in and lock it down. It was already like that.
In case anybody wondered if Github was closed-source because of Microsoft.
Projects are settting up individual cgit, Gitlab or Bitbucket instances. Roughly half of the projects i contributed to now have their primary upstream outside from Github.
Bitbucket may not be in the spotlight (probably suffering from being Jira's sibling) but in my opinion its web user experience is more pleasant than GitHub's. I'm talking about branch visualization and operations, pull request creation, UI layout flexibility. Bitbucket feels like a sober and useful tool, while GitHub is more like a claustrophobic social network centered on code to me.
Atlassian products is a collection of poorly integrated and maintained applications each with serious issues which Atlassian refuses to fix. Atlassian is basically where things go to die.
I disagree with the parent that they're poorly integrated. They're probably better-integrated than most other options out there. IMO the real problem with Atlassian products is that individually they are not good. Confluence is a bad wiki, Jira is a bad issue/project tracker, Bitbucket is a bad source code management tool.
Individually they all have a lot of flaws to the point that if they only existed on their own, no one would use them. But features like native support for referencing Jira issues in Confluence and having them auto-update makes companies want to use it.
Part of it, I think, is the development tool version of "nobody ever got fired for buying IBM". It's considered the safe choice. Enterprise-y companies get wooed by all the "Atlassian consultants" floating around out there. The ecosystem is just designed to attract enterprise users.
> I disagree with the parent that they're poorly integrated. They're probably better-integrated than most other options out there. IMO the real problem with Atlassian products is that individually they are not good. Confluence is a bad wiki, Jira is a bad issue/project tracker, Bitbucket is a bad source code management tool.
Fair enough, I agree - they are not that poorly integrated as they are just really poor tools.
I have been a very happy user every time I used Atlassian products on their own, so bad are many of the in-house enterprise alternatives, or products like DOORS and Notes.
Each to their own, I guess. We use Jira and Confluence at my org. I personally don't make use of the integrations between them all that much, but I find them painful to use on their own.
Atlassian is better than the enterprise solutions which preceded it, but that is a very, very low bar.
Their tools are remarkably slow, with each page both being remarkably JavaScript-heavy and constantly reloading (the two should be mutually exclusive, right?).
They really aren't bad, and have some advantages, but they are not a joy to use.
Their abrupt cease of support for mercurial damaged it beyond repair for me and many others. They didn't even offer to migrate stuff with the click of a button, people started writing scripts to migrate, and while you are migrating, why not to GitHub which in the meantime also gained free private repositories?
> Their abrupt cease of support for mercurial damaged it beyond repair for me and many others.
I'm not the biggest Atlassian fan, but they posted in August last year, gave 10 months notice and cited that less than 1% of new repos being created are using mercurial as their primary reason for doing so. If you cared about a project, almost a year is plenty of time to move it. I don't think it's entirely unreasonable to sunset a feature that is not widely used by your users, not widely used outside of your userbase, and that requires ongoing maintenance that the other 99% of repositories could benefit from instead.
It was more like a community and they destroyed it. Less than 1% of new repos were mercurial (what a surprise with zero mentions of mercurial anywhere except small text and zero marketing and they didn't even have it in their self-hosted product), sure, but existing repos were the problem. Some abandoned ones are lost forever. At least archive them, offer a tar download, anything... People had to parse the issues, people had to parse discussions, all the settings, access rights... I think after a year they could put everything in archive mode, but no, they deleted it with no easy export.
That's not OK and I'm clearly very, very angry as a former user.
> I think after a year they could put everything in archive mode, but no, they deleted it with no easy export.
I mean, it's still there. If it's that much of an issue, and the tooling has been made by the community, you're free to archive it now. At what point is it ok for them to say "hey, we don't want to pay to store the data/keep the codepaths to display/interact with this data" anymore?
How many of those people were paying customers before this? I don't know the answer offhand, but if I had to guess, I'd suspect a small number of them.
> That's not OK and I'm clearly very, very angry as a former user.
I hope as a paying customer, you cancelled your subscription to them and told them explicitly why then.
> At what point is it ok for them to say "hey, we don't want to pay to store the data/keep the codepaths to display/interact with this data" anymore?
At the point when they make it super easy for the people to archive the data themselves. Code part is easy, PRs, issues and downloads are hard. See: Google takeout
> I hope as a paying customer, you cancelled your subscription to them and told them explicitly why then.
Not just even for me, I made my company switch to it, and we were also hoping support for mercurial in the future, but were okay with it not supporting mercurial in local deployments, we had our hg repos on bitbucket.org. When the news broke, I moved to GitHub and perkeep (for archiving all the JSON data that I painstakingly had to scrape), and my (now former) company found a smaller vendor that offered what BitBucket was supposed to offer but never delivered, only for 100x the price (although one-time, custom development for them).
Yeah, hatred mostly because Jira is the grand enabler of micromanagers and corporate accountability and a bit slow.
It can be whatever people want to use it for. The customisation and the key features of the tool are not bad. Then again, most tools are neutral until a person wields them.
True, those solutions are always horrible. Still don't like Jira that much. Every corp somehow managed to slow that system down to a crawl that using it became a pain.
Still a great fan of Trac. Old but gold, simple and fast. Suffers a bit from a historical focus on SVN, but can be adapted to git easily.
Firstly Bitbucket allowed free personal private repos, so many people who did not actually want to use it did for closed source projects.
Bitbucket has generally had the least pleasing UI, and the association with Atlassian sort of corporate feel made it seem uncool to a degree. It just didn't really feel great to use for me. I've used all 3 extensively.
I've transitioned with companies from Github to Gitlab, from Bitbucket to GitHub etc. but never to Bitbucket. In fairness I was using Gitlab during their great outage, so I can say that cool is not always reliable. And coolness fades and dies relatively fast.
"They violently break all the recent frontend best practices. Where is the React or Vie, SPA architecture, tons of JS?
There should be a federal law prohibiting making fast and simple UIs so that nobody will have concerns that the UI frameworks war leads us to great future." - viach https://news.ycombinator.com/item?id=20775549
I don't have a problem using the UI on mobile. And it looks nice IMO.
And the ability to create a repo on their site by just pushing to a remote with the right name[1] has really made it easier for me to use their service. What do you find confusing and poor about the UI? I find it straightforward and efficient.
Maybe I was being too critical - it is actually quite nice on mobile.
I do use the find-file feature on Github a lot, as well as the quick file editor. Both are missing here, but I kind of see that at least the file editor is not well suited to the projects ethos.
Instead it's owned by an abrasive difficult to deal with developer who will argue "you're just doing it wrong" with paying customers. Clearly things aren't exactly roses and sunshine here either.
Idk, I don't have the source for the conversation, but I suspect "direct" is being misinterpreted as "rude".
Using git and mercurial for large binary file storage is, 100%, wrong. Why? They're not designed for it, so they handle it really poorly. Hacks like Git LFS and annex were made for a reason.
From sourcehuts perspective, they need to serve all their customers, and an extreme performance outlier for a still small platform could degrade the experience for others by becoming a significant part of the server load. Thus, it's fair to say no.
You don't think it's strange for a service provider to tell people that "mercurial isn't suitable for this" (even though it clearly works, and has been working for many years) and "you're writing your program wrong"?
It's fine to not support certain use cases because it's too much effort or otherwise too expensive. It's not fine to, as a service provider, tell people that their programs are (and I quote) "wrong".
If you're okay with that then that's your choice, but for me it really turned me off sourcehut.
> You don't think it's strange for a service provider to tell people that "mercurial isn't suitable for this" (even though it clearly works, and has been working for many years) and "you're writing your program wrong"?
No, not really, if done politely. Which seems to be the case here.
It also might "work" to use a large crystal vase as a hammer, but it's still "doing it wrong".
If anything, I'd fault sr.ht for having too vague usage policies and then telling users they are in violation of said policies. That's not good. But they are in alpha, so hopefully it's something that'll improve.
It's a paid subscription website and has done very well as a one-man-army project. Its success hasn't compromised its virtues of being lightweight and no-nonsense (unlike Delicious).
If SourceHut could do the same for Git that would be great.
You can sign-in for free while it is alpha and try it. Everything works very well except the account data export that is not still enabled. I have found it very practical and fast, much better than the typical github+travis combination.
I've had to deal with reconciling a divergent tree; I've seen code that does not appear in `git show x` for any x in `show show --full-history`, and discovered that `git show XXXX` is different from `git diff XXXX^..XXXX`. I'm sure a fanboy will be along to tell me that a commit is just a monoid in the category of endofunctors and I just need to run `git-vent-branch --relieve-mimic-subtree --stub-indict-file`, but I'd rather not.
I believe the turning point was when they changed how the ranking system on the Trending page worked.
I had no idea Github had a "trending" mechanism. I just use it as a free place to store code repositories, of which I have about 20. About the only social feature of Github I use is "Issues", to report or deal with bugs.
In fact, I rarely visit the site with a browser. Most usage is from "git". Which is what it's supposed to be for.
Sounds like this article doesn't apply to you then.
>Which is what it's supposed to be for.
That's just your opinion. Clearly people have been using github for discovering new software and more. I have found plenty of cool projects through the sites features.
I use Github for discovering new software, and more. And a trending algorithm is of no use to me. I use search and filter based on practically applicable keywords and other facets that are relevant to my need at the time.
The author uses the phrase `the new JavaScript “hotness”` in the context of this somehow being a positive. Engineers going after libraries because of their "hotness" instead of because of their utility is exactly the problem with the Javascript (and other "cool" / "trending") ecosystems.
I've also used Github for 12 years and only recently started to use it. I've discovered a lot of really cool stuff! It's worth it. (Not sure if I ever used it before the algorithm change, though).
This reads like satire on the culture of trend-chasing, framework-of-the-week young developers that dominate in certain circles. Life imitates The Onion, Poe's law and all that.
If you're not one of them, and feel alone and outdated - don't. There's enough graybeards toiling away at the boring software that supports the world, oblivious of what killed last week's React killer. This too shall pass.
It’s really fascinating how humanity can twist almost everything around and start seeing it from a bad perspective.
Maybe the author is a very engaged developer who already knows a huge part of the “boring software that supports the world”? Maybe he is so engaged that he wants to follow new developments in his professional area to get even better? Maybe he hopes that he will discover new and interesting algorithms that can help him improve his skills?
I think there is a point that simple algorithms are a better user interface, because of their predictability (although they show their flaws, like he specifically mentions with JS). Just try to remember how much discussion there was about Twitter’s feed and their move away from a classic timeline. They still haven’t abandoned the latter one.
But who knows in the end? Maybe your comment was just an attempt of satire a la The Onion? Personally I try not to prematurely judge and stay positive. To each his own I guess.
I see it exactly as the opposite. Github is a boring and effective tool for professionals, and the author has twisted it around to be a bad thing since it’s not “fun”.
I had no idea that GitHub was supposed to (or trying to be) fun.
If you're going to non-curated "trending" feeds looking for things that are already popular to pay attention to, you're not only wasting your finite free time but you're training yourself to be a follower.
Stop this nonsense immediately. Use your talents and build something great. If you never check the "trending" page on GitHub again, you will have a better life.
So what? Why would you drop what you're doing to check out something you don't need to know exists?
I'm not trying to be an asshole: focus is both incredibly hard and the only way to build great things.
There are a countless number of things you're better off doing than checking out new random shit. Those people have already had their success. What are you bringing?
I haven’t participated in this trend-hunting behavior the author describes, but it sounds like it has the main appeal of HN—see new ideas that other people with a similar mindset are talking about. There’s educational and entertainment value to that, and while you’re right time is better spent grinding on projects it certainly sounds appealing to have a window into stuff other people are working on that is also mildly curated.
Github is not meant to be fun, it's meant to be like a pen.
A good pen can be enjoyable. Beautiful. You can feel attachement to it.
But it is not built to be played with. By that I mean it's not its primary function, even if a creative or bored mind can use it for that.
A good pen fullfills its intended purpose when it disapears from your mind while you use it, yielding to the writting that should be the center of your attention.
I don't think about github when I code. I just use it.
A lot of people (who may not even be professional programmers) are using GitHub for their hobby, i.e. "for fun". I don't think this is an invalid use case.
So do I, and I dread every second I have to interact with that horrible site. A pen does not spam you with "trending" stuff, rearranges its interface regularly or track your activity for the whole world to see.
Before the usual "just leave" comments: GH is a monopoly and one can be forced to use it, unless leaving includes leaving projects or even jobs.
Not touching that "Zero star hotness" problem, but
> ... lot project discovery has moved to other platforms, and more specifically, to Twitter. This isn’t good for the community.
Let me bring out my 2 points here:
#1: Hey, please ask your inner self why would you ever want to put out your own free labor out on the Internet in the first place? For common good? World peace?
I bet most people will answer: Be cool, be known, receive attention etc. Those GitHub stars&fork you've received will help you in your next job hunt, it will help you when you trying to introduce yourself to the other devs, it will help you to expand your people network. In short, those free labor generates something good for you.
But GitHub has it's own limits. On GitHub, your projects are discovered/used by other devs, a bubbles of it's own kind. Further, those devs might not even want to give you stars because they're above your level and/or found your project uninteresting to them.
Social medias generate those "good"s better than GitHub simply because it got wider range of people, and greater chance to found somebody who is interested to try out your project.
#2 and more important: The GitHub Trending page itself is really poor when it comes to discover new things.
Just think: What's on that page? "Most stared today" list. Well yeah, then where are those stars came from? Right?
It's a "Trending" page, that's it. Not a "Hey, checkout these exciting repositories recommended just for you" page and certainly not "Hey, come here and checkout my new repo which currently got zero star but it's really cool" page.
I personally found ProductHunt, Hacker News and Reddit is a better source if I do want to "Discover" something new. Which I guess is why people are posting their projects there (as well as on Twitter and Facebook and other platforms).
>> No offense to Stripe, but the notion that stripe-samples/subscriptions, which has 13 total stars with exactly zero new stars today is the new JavaScript “hotness” is a joke. This is totally useless to everyone.
THIS.
The new algorithm is not only horrendous but SUPER FLAWED!
Here is what happened.
After receiving 900+ stars within a week of launch - we never make it to 'Trending' weekly or monthly!! We were their trending for 3 days. Then all of a sudden we are gone. The rest of the repos which were trending with us with as little as 50 stars are in weekly/monthly trending!!!
Can you please help explain this @Github ?
When contacted Github support about this flaw - the reply was short (they dont wanna reveal their buggy algorithm! I was asking to look at the problem not to defend their solution)
Stars not only tell how cool a open source project is but also makes the new open source developers produce valuable work without next to nothing in return.
Just taking out this small dopamine rush translates to this - a good company (Github) was acquired by an old-enterprise.
> Stars not only tell how cool a open source project is but also makes the new open source developers produce valuable work without next to nothing in return.
Stars aren’t payment. If that is the primary currency for your development I am curious what happens when there are no new stars? Do you kill the repo?
Stars are a way to bookmark and discover repos in the open source world. No stars doesn't mean no development - I am not denying that and appreciate your concern on how much vanity is in it. (I guess it is better than vanity of likes for a photo on instagram).
For me, stars are a rough measure of traction. If I can get a project above 1000 or so, my project begins to take on a life of its own, and I can concentrate less on marketing and awareness.
I would say that stars are mostly a measure of interest/coolness. The difference to actual people using it can be absurd. The biggest project I maintained had 5k+ stars (which it got by landing on the HN frontpage a few times), but the actual amount of people that tried to use it is in the 10-20 range. On the flipside one of my other projects has a lot more users than it has stars.
With all that, stars have basically lost all meaning to me if I'm looking at it as a project outsider, and only have limited meaning as a maintainer.
LinkedIn features on Github? Sounds awful. Imagine having to dodge Microsoft's typical dodgy dark patterns to access repositories. LinkedIn is one of the worst social networks, and employs dark patterns that not even Facebook has adopted.
GitHub has slowly phased away from being a website about the code, to being a website about people. Yes, people are an aspect of the code, however the site is no longer focusing solely on collaboration tools for working with code.
Author is correct, the "trending" now rendered on GitHub is a joke.
But what is worse is the "Explore" screen they put in. All I get given is a bunch of useless crap in a column that is 580 pixels wide. Half of the projects that appear in here are in chinese so I can't understand anything about them except the project title. The entire UX of this screen feels like a social network.
Bonus points: Another, stupid, pointless feature they added a while back: "[emoji] Set status".
> (re: project discovery) We went from a flawed meritocracy to a social network that promotes chaos, tribalism, and idea bubbles.
This works well in two senses:
1. We went from a flawed meritocracy (GitHub) to a social network that promotes chaos, tribalism, and idea bubbles (Twitter).
2. GitHub went from a flawed meritocracy to a social network that promotes chaos, tribalism, and idea bubbles (CoCs, them-vs-us narratives, a priori victimization, non-universal notions of "inclusiveness", "master branches").
How can something a meritocracy if it's flawed? Either you can actually assess something on its merits or you can't, and if you can't, then you can't really call it a meritocracy, can you?
Communication of the open source community feels like it's down. Social media eventually killed forums and chat rooms. Social media if anything, made learning and discovering a more isolated experience. RSS isn't what it used to be either, that compounded with blog posts being down, and the sheer volume of bad tutorials, bad code, and bad ideas, it's hard to sift through it all and discover things of value.
Early Twitter were the golden years in my eyes. You could ask a question or post an idea and get responses from random developers. Now it's just echoes into the ether.
This complaint makes no sense. (It may still be true - fun is subjective - but the article offers an objective argument for it that doesn't hold up.)
> The Trending page used to be a straight-up list of the projects with the most new stars in the last 24 hours across the whole site (and by language).
...
> In this era of Developer Relations, VC-backed open source, and the endless developer-content-bullshit machine, the old Trending page was one of the few places left on the web where it seemed like the best ideas still won.
I've been seeing corporate projects beg for stars (from either employees or users) for almost a decade now. Meanwhile, I have never asked for stars on my personal repos and I think most people don't. If you don't like companies putting their finger on the scale, stars are the absolute last thing to measure!
> The worst side effect of the new Trending page is that a lot project discovery has moved to other platforms, and more specifically, to Twitter. This isn’t good for the community. We went from a flawed meritocracy ... good ideas and good projects are getting lost, especially from newcomers.
How, exactly, are newcomers supposed to get stars on their projects without a following?
You're very clearly confusing the version control system git with the platform for code collaboration github.
The first doesn't have to be fun (and I'd argue shouldn't be fun). The latter, however, can be (maybe even should be). OP can see fun in exploring new technologies, new solutions to problems, new libraries to use - and who are we to judge that? The trending page was an interesting way to see what was cropping up around the platform. I didn't check it often, but I did check it from time to time.
>You're very clearly confusing the version control system git with the platform for code collaboration github.
sorry for expressing myself badly, but I do realize they are different things as I use bitbucket and gitlab as well.
that said I use them all as dumb, quick views for the current state of the project, with a couple of on/off switches to automate common tasks in a git project. I would like to keep my informational panels as low distraction as possible, and fun, at least as it is stereotyped in popular culture through the ages, tends to be distracting.
Well, if we're going with tool analogies, you probably would complain if your tool box is such that you have no idea what tools are crammed inside. Github has grown huge and it's getting increasingly hard to keep track of repos. You see something useful, but in a few months when you need it you just can't find it anymore. Stars are completely useless way of bookmarking interesting code once you star more than a few dozens repos.
yeah, although bookmarking urls with tags in whatever bookmarking tool you're using is pretty good, or forking a repository that you're interested in. I suppose if I had an aversion to doing either of those things I would be upset at GitHub for not giving me a better way to keep track of things.
Microsoft says they love open source right? They could just provide an easy API for the data that underlies the trending page, and there could be multiple spin-off projects that rank projects differently.
Same for many of the other suggested features. News feed for example.
In computers, we can make everything interact with everything, if we wanted to.
I also don't want to be at the mercy of MS implementing or removing something. It would be much better if they had many open APIs to integrate with.
I see a lot of disagreement with this post but I think it makes good points.
It's hard for small developers who make useful things to get noticed on GitHub. The only hope is to get retweeted by some established user. This seems silly, we need better ways of making sure people can find/discover good software.
The problem is that open source software is inherently trust-driven. I wouldn't blindly execute any random code on my machine, but I execute code from people or companies I trust all the time. Of course I could review the whole repo, but that always takes time (and even then you're not guaranteed to not be hit by an intentional/unintentional vulnerability), and it comes down to "well, would me spending time vetting this be more valuable than just finding a more popular, more trusted alternative?"
So it's hard to spotlight anonymous devs on their own, because you can't establish trust with someone who isn't known for anything yet.
Seems like the openness of software is orthogonal to trust. Would you no longer trust an app only because its license became Open?
Closed source seems to require more trust to me.
I think trust is very difficult to manage and do some checking of owners of PPAs before using them -- containerisation can help, but doesn't prevent information gathering and other trust-breaking activities (backdoors, etc.).
Who would search for useful software on Github in the first place? That's what app stores are for. Then, you contribute to whatever you feel is useful to you, using the Github link on the project's page.
For many people Github is a tool to use for work and nothing more. For others it's almost a social network. Making something that happily straddles both those use cases must be really difficult.
I think, given his content, that this comment is overly broad. Instead, it should probably say that the Github trending page isn't fun any more.
And he gives a nice and precise reason for this: the Github trending page used to have all the qualities of a game. There were ranked participants and there was a clear, known score. If you wanted to do well in the game, then you knew exactly what you had to do. As a bonus, the rules happened to be such that the ranked results were actually interesting.
Now the trending page has an opaque score. Opaque scores and rules almost never make for a fun game.
Perhaps the results are interesting. If so, how do we know that? It's hard to judge whether or not they are because we don't know the scoring mechanism. So the page loses not only its fun but its meaning as well.
I am happy with GitHub just being a repository for code. For cool project discovery I generally use HN or reddit. My stars mostly acts as bookmarks for projects I found interesting at some time in the past.
I want a reliable, boring GitHub. I will look somewhere else for fun.
Github's a work tool, not somewhere you go to have fun.
This is a weird article because its main point is about the 'Trending page', which is something I've never heard of in the last 10 years of using github heavily.
I'm vaguely aware there are some social features of github (you can apparently star repos, for instance) but I'd assume hardly anyone uses that stuff...
The beauty of Github is that it does a really good job of both.
Yes, we use it for work and it's excellent, but there are loads of fun, throwaway, educational, ridiculous and interesting projects on there.
The trending page was great because it offered a glimpse of what's out there and what people are talking about. If you don't care, that's fine - it won't ever affect you. I find it interesting for the same reasons I find HN interesting.
Github has had social features for a decade or more; I've been able to follow colleagues and friends, react to issues and conversations with emojis and upload photos of my dog. What else do I need? What does Facebook have that Github doesn't in this regard?
To be honest, a few years ago I used the trending page to discover useful web tools.
Du to my lack of experience the trending page offered a glimpse of what people were working on/with (I used to read the code to learn new techniques) but now I old go there to check on my open source project and answer issues.
So I can get the author saying it's not fun anymore, however I find hacker news the new fun place to go to learn and enjoy my time.
> The worst side effect of the new Trending page is that a
> lot project discovery has moved to ... Twitter.
Huh? No. I mean, I don't know what JS people do with their lives; I'm a C++ and CUDA guy (even though I dabble in some JS), and none of my acquaintances discovers projects through Twitter.
GitHub has this side-bar with projects I might find interesting and it often recommends ones that I do.
Regardless - I would move away from GitHub to someplace else if the exposure wasn't so critical. I would really like a cross-site federation mechanism which would let us try other places.
I stronly agree with the trending part. I used to browse it regularly to find cool projects, that may have been on HN or Product Hunt or something that week, but now, most of it is Chinese projects that are meaningless to me or large businesses latest nothing github project they made.
Chinese projects are presumably meaningful to people who can read Chinese, although it is meaningless to you. You are free to learn Chinese. It is a great skill to have.
If more people who can read Chinese are using GitHub, why is it a wrong choice for GitHub to surface Chinese projects in the trending page? I detect the racist attitude here.
Yes, it is a bad recommendation, but the trending page is not personalized. GitHub does provide personalized pages for discovery. Do you get Chinese projects there too? That would be a bug worth fixing. But it is not a bug to have Chinese projects in the trending page. It is expected feature.
The OP is hitting at a long lived really difficult problem especially for a place like GitHub - how do you display what people care about? - recommendation engine
Most stars in 24 hours? That gets the same group of 0.1% consistently at the top leading to a stale page.
So Github tried to improve its 'signaling' of what's interesting yet new so you can keep coming back to the trending page?
Is it stars the overall account crossed w/ new? Number of issues opened in 24 hours? Forks?
You’re assuming that Github needs to provide a means for recommendations like a typical social network when I doubt it does.
I return to github repeatedly to interact with repos I’ve already found based on professional need. I neither want Github to recommend content to me, nor do I need it to; I regularly use services outside of GitHub to find content on it that’s relevant to my needs.
Github is a tool, not a social network. I don’t want them to maximize for “engagement”; I want them to fill my professional requirements and charge me a fee for their services.
I'll be honest I scroll through the trending page once a day. I am not sure about javascript because I couldn't care less about it, but I have to admit for many other languages, I do end up wondering how some projects get to trending...
I could not identify with this article less. The whole concept of needing a "scoreboard" for open source software at all makes it seem like things have gone very wrong. I write software because I want to manifest real-world value, or at the very least to do something interesting. All the noise and clout chasing just makes it harder to find the quality tools which will actually help me do that.
A major reason open source projects use GitHub is the social network features. It really helps you build traction and get noticed. Regardless of what you may think of it the trending page does indeed drive further traffic which drives adoption.
Otherwise we'd all still be on SourceForge or migrate to something more OSS pure like Gitlab.
I don't use it for discovery though: It's just easy to jump in and contribute or open an issue when it's a common platform I am already logged into. There's low friction to jumping in.
That doesn't mean I necessarily need social media features.
One thing I'd love to see is a flag in GitHub so the news feed won't be filled with repos that I have already starred (so you only get to see new things). This is especially useful as I have starred over 13,000 repos so most repos I will see are starred already.
Thanks for sharing your thoughts.
Until I read your post, I didn't realise Github changed the algorithm behind the page. Until last year, I hit the treading page at least 5 times a day whenever, I got a short break at work. This year, I don't know exactly when, but I lost interest in the page and couldn't go back, no matter how many times I tried.
At first I thought it was only me, very much like how you mentioned.
My opinion:
Earlier, we had small problems in the page. Like 5 out of 25 in the list looked useless or wrongly listed. However now, more than half of the list looks wrongly listed and not interesting for me.
I used to use the elixir trending page to learn about new popular elixir libraries. It had twice as many repos as it has now. Now it’s garbage. I complained to GitHub when it happened. It’s purely worse.
I’ve always looked to $LANG community specific websites for suggestions on new and exciting libraries for $LANG. Such federated discovery is much better positioned to handle the needs and quirks for each community.
Please don't ruin something that works fine by adding unnecessary crap. The only thing Microsoft has to do, is to take a good look at GitLab so they know what they absolutely NOT should do.
What, make good money building loads of features people actually need? To me it feels like GitHub has stood nearly still the past 5 years. I didn't even consider GitHub when choosing a solution for our business and 5 years ago I thought GitHub was the greatest open core business in the world.
Whatever they did with that huge investment, it wasn't building value. The investors probably got their money back and then some when Microsoft bought it though..
Hey efiecho, Community Advocate from GitLab here! I'm sorry to hear that you are not a fan of our actions and/or decisions.
Can you please dive into specifics a little bit and explain what parts of GitLab could be improved and what are some high-level things that you don't particularly like?
I should probably have been more specific in my critique, as it sounds like I think GitLab has major problems. It's just regarding the web interface.
On every other Git repository manager, we can browse source code, view replies to both issues and merge requests without Javascript enabled. But not on GitLab. I don't expect anything advanced to work without Javascript, but these simple operations definitely should and I think it's very bad design to have this requirement. The result of this Javascript overuse is that GitLab is both slower and a bigger pain to use than the alternatives. Use Javascript in small amounts were it make sense for functionality, not just for showing text, pictures or other simple things.
There, my two cents. So, what I meant was that Microsoft should look at GitLab and NOT copy the web interface. GitHub has a nice web interface, with Javascript in acceptable amounts and where it make sense, even the language details bar works without.
The author wrote a whole blog post based on 1 example of 1 snapshot – the top result for the snapshot is indeed from the `stripe-samples` org, but the other 4 examples visible in the author's screenshot – cocos-creator, puppeteer, Fugiman, uxsolutions – are not orgs run by major tech companies? And I'm an avid Github user but I've never read much about how the Trending page works, so I would've appreciated the author linking to even any page talking about its past algorithm, or its alleged recent change. Instead the entire post is just rambling by what the author seems to think is happening.
And, IMHO, the author seems to be naive that the past system – "most new stars in the last 24 hours across the whole site" – resembled some sort of objective meritocracy, when such a metric could be trivially manipulated, especially by established tech companies.
Looking at the trending page just now [0] for Javascript, I don't see a repo owned by a big company in the top 5. freecodeCamp/freeCodeCamp is #6 and facebook/react is #8.
There is so little customization allowed on that page. It's very hard for me to tell a curious developer what's new or exciting unless I want to constantly adjust pinned repos.
Notice that you're immediately presented with the folder structure and the README is "below the fold". So the developer's own words about the project are hidden unless you scroll for them. A lot of newbies get really thrown by this, they start clicking blindly into the code without knowing there are instructions below.
All that said: I love GitHub. I spent 50%+ of my day on GitHub and manage 100+ repos. But it's not all things.
I never used the old trending page, but it sounds like the Changelog Nightly newsletter [1] is basically the same thing. It goes out every day at 9PM Pacific. It has 3 sections:
- most starred repositories that haven't been in the newsletter before
- most starred repositories that were created that day
For me, the question is not whether or not GH was fun and if I checked trending before (I did not, I'm the type of person who does not jump into projects in early stages).
If the trending page has been an essential way for projects to gain traction, then we all have been benefiting from it. If this change disrupts that flow, then we should all oppose it, no matter if we used it directly or not.
I used it occasionally. It was useful. They obviously removed it. Imagine being able to message anyone on the platform about their repo or code. Imagine it being easy to find how to contact someone. Now you have to rely on the user adding public contact information on their profile which is a) not required and b) not validated.
I also feel like the project recommendations on Github have become really... stale.
At some point, the sidebar would display a new set of projects almost every time you hit refresh. Now, there hardly seems to be any rotation at all; I've been seeing the same projects for weeks. Somebody should check if the cron job for updating the list has crashed :)
I enjoy what I do, I just don’t expect my tools to entertain me. One can enjoy carpentry without expecting their hammer to be “fun”.
I would strenuously resist any attempt to make any of my tools more fun at the cost of any ounce of productivity. These tools exist to serve the narrow needs of professionals, focusing on anything other than utility for the core group is counter productive.
One of my first go-to web pages, when I open a browser, is the github.com/trending page. I find it fun (in general) to explore and discover the latest in OOS.
On the contrary to the negative sentiment in the blog, I feel GitHub "now" made it much easier to find the relevant contents and repos that I actually care about.
GitHub was never fun. They don't care about spamming, maybe they even endorse it.
I'm not active on GitHub. I have an account, sometimes I file a bug or so.
Every now and then I get "invited" to some GitHub project I've never heard of. One contributor, zero stars, pure spam.
I always block those and report them as spammers.
GitHub, without fail, gets back to me saying that "oh, you can block him". That's it.
Maybe you could just stop people from spam-inviting hundreds of others? Maybe you could not allow invitations of people who never interacted with the person or his repo in any way?
But I hope they at least fixed their also very annoying notification bug where they sent me a mail that I was mentioned in a commit:
Someone had committed a binary file (image or whatever), and in there was actually a two byte sequence fitting my GitHub user name (two character name).
That's just idiotic. A few bytes in a binary do not "mention" anyone.
The changelog-nightly digest will send you a list of trending repos, if you care about that.
I used to keep up with the trends, even on the trending page, but it’s often that a big company will release something and it comes on the top. Stars are just a vanity metric, it says little about how popular is the project at the moment, how well it’s maintained, etc.
But GitHub as a company is doing so much great things lately. Actions are a nice built-in way to skip setting up a CI. And the little things which improve dealing with PRs, for example, checking the file as reviewed, review suggestions, multi-line review comments, automatically changing the base if the base is merged, and the list goes on.
It might not be fun for the trend/hype seeking, but it’s a great experience to work with it as a VCS tool.
I'm also in the GitHub as a tool vs. social app camp and have rarely if ever had the inclination to visit the daily trending page (cue Pete Davidson - "my bad"). One feature I do like though is to see what repositories get starred by people I follow.
One thing has left me wondering after reading the article, is what the algorithm has changed to if it used to be just most stars in the given time period? Does anyone have any insight in how the trending repos are ranked?
For example from the article:
> ... the notion that stripe-samples/subscriptions-use-cases, which has 13 total stars with exactly zero new stars today is the new JavaScript “hotness” is a joke.
I'm left wondering then how did that get to the top? Views? Clones? API requests? Something else like paid promotion? Or manual curation?
I wish I could do all the Github things from the command line somehow - get a lit of all my starred projects, turn watches on and off, etc.
The whole thing would be so much more useful if it weren't wrapped up in a web interface, and if I could script my interaction with my repo's better ..
The javascript ecosystem is great (choice is mostly a good thing) but it has a really bad rep because of all of this nonsense focus on early-adoption of "cool new thing". That kind of problem is only exacerbated by `Trending` features like this. Good riddance.
Have barely looked at explore that often, generally has little that interests me despite being fairly accurate with topics.
Following a range of people and checking the main feed from github.com now and then has always worked fine. Apart from some coworkers and collaborators the vast majority is people I've never interacted with, some are wellknown, many are simply folks I've come across over the years in certain fields of interest and seem active on GH.
There's a constant stream of interesting repos being worked on or starred with no real social aspect to it. As a discovery mechanism I enjoy the simplicity of it.
Github is a bit of a social network for developers, and as such, shows all the similarities to other platforms: there are superstars, competition to be on top of some magic list of '10 most beautiful women profiles or 10 most popular JS projects' and etc. And the more people deviate from development towards social interactions,the more Facebook/Instagram/LinkedIn it becomes. Oh,look, I have 10 stars on my repo!!! Wait a minute,how come he's got 20??Just look at the way he named variables..Come on,who can vote for this????
Thanks for the feedback on this. We are rebuilding Explore and improving the feeds on it soon, and would love to chat with you if you’re interested. Drop me a line (shankuniyogi at github.com).
GitHub isn't fun or not fun for me because of the presence of a Trending page.
I didn't know about the Trending page, so I never considered using it. For my personal developer literacy and understanding of the Open Source Community, it would be great if a global Trending page existed and functioned well.
As an indy developer or a developer who usually works on a very small team, I'd like to see the Trending concept implemented on an Open Source platform basis.
For instance, a Trending in Angular page, a Trending in Bootstrap 4? Hell yes.
I occasionally use the Trending page, but I agree with the OP on projects getting attraction because someone who has 12k followers on twitter shared a static page website.
Here are four ideas for what a next generation Github might look like, ready for the next billion programmers:
1. Simplify the Git interface to optimize for daily workflows
2. Assume all code is online, all the time
3. Invest in Github’s people network
4. Invest in Github’s code network
What does the toolchain for the next billion programmers look like?
I’ve written the above as if I were Github, but I think there’s a fair chance they’ll miss out on a lot of this. And that might just be an opportunity for you.
This [1] was posted here some time ago. It's been pretty useful for me for discovering projects, and it seems to be good at bringing actually trending projects to the top. E.g. at the beginning of the covid situation, you could see a bunch of dashboards, news trackers, or scripts to buy face masks etc. at the top.
Every day now I see one, a comment, a blog post, something that reminds me of the words of Charles Babbage:
> I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question.
Babbage was talking specifically about Members of Parliament asking him whether putting wrong figures into his machine would result in the correct answers, but I find the remark generally applicable to so much more.
That quote fits perfectly for these situations where I find a suggestion so flappergastingly silly that I wonder if the author and I have experienced the same reality.
A major regression in Github is in Notifications, which have a new interface.
I follow several hundred repos. Only the 25 most active are listed in the sidebar. There is no way to browse the hundereds not listed there for notification tallies.
THERFORE Github now hides notifications from small and nascent repos from me, and that's definitely not fun.
>>> The Trending page used to be a straight-up list of the projects with the most new stars in the last 24 hours across the whole site (and by language).
honestly, I never ever knew there was a "trending" page on GH...
>>> I always thought of it as the defacto front page of the open source movement.
> The old Trending algorithm was definitely flawed, but it was simple, objective, and ever so slightly ruthless. It heavily skewed toward JavaScript and web development, but under-indexed a lot of backend and AI stuff.
Isn't that super contradictory? How is the old algorithm both objective AND skewed towards Javascript?
The author didn't say it was fair, they said it was objective; objectively speaking, JS projects get all the new stars compared to backend and AI stuff, therefore are the most popular.
Of course, a more fair algorithm - if your definition of fair is that multiple disciplines and specializations, and / or language get the same exposure - would be to show the top starred / most active repos in certain categories (back-end, AI, specific languages, etc).
I never even realize GitHub had a project listing page. I miss the old FreshMeat (later FreeCode) back when it was the entire FreshMeat+SlashDot+SourceForge network.
FreshMeat was an amazing resource for new and exciting open source tools. Today ... it's pretty much just Hackernews, and we only get a small subset.
If you're looking for the latest projects, I find YouTube to be helpful with these types of lists which used to get curated better by GitHub. https://www.youtube.com/watch?v=gM7XU2acXag
I've always just used github as a source control repo. It's also useful that Google links open source projects when I search for things.
If the trending page disappeared today I wouldn't notice. In fact, the only time I ever read about it is when I stumble across blog posts that mention it.
PSA: This is not about GH in general, is about a particular characteristic of it (The "trending repos" page) that is even possible a lot of people haven't heard about.
Also, there might be other ways to find out what is "trending" (And you should try to find them).
Recommending github projects based on the github projects you already are interested in could be a problem that can be solved by a recommender engine like the ones from https://movielens.org/
It doesn't work well, because people use GitHub's starring feature in many different ways. Star rating of movies is pretty comparable between users once you standardize it. Not for GitHub stars.
You are still far from it, concluding from your problem.
Up to now, I never heard about this 'trending page'. I'm quite aware, that GitHub is also a social platform business including of course the whole associated industry of for example self-marketing as the compulsory 'side' effect (the term 'side' is debatable).
For me, it is a tool and as such in the meantime not the best anymore. The missing group feature (even true for bitbucket) alone was reason enough for me to transfer the better part of my projects to GitLab and structuring them there in a sufficiently satisfying way. Some of them are still mirrored on GitHub and thats it. Not to talk about CI integration and other features.
As for some other comments here - even for me my repositories are mostly my work. Other contributions are rather short-lived PR's etc. So, this is all fine for me.
Github is a tool like a hammer. It is essential to get certain jobs done, but hardly going to win a price for the most exciting tool. I never looked out for trending repos, however, that might be a professional basis as a data engineer.
I used to follow the latest trends via various blogs and websites. As I've gotten older, though, I've found that I get the most valuable insights into what's new and genuinely interesting from talking to people.
I thought the fun part was being able to share code with the world and get contributions or even people interested in teaming up out of that? I have literally never looked at trending, and I'm not sure why I ever would.
The idea of trending libraries / code seems almost antithetical to good software development practice. Favouring the shiny and new over the reliable and stable seems classic Goodhart's Law.
I've discovered some pretty neat projects from the trending page and the "Explore repositories" thing on the main page. So for me that works well unlike most recommendation things.
Checking what JavaScript projects on github received the most new stars in the last 24 hours every day doesn’t sound like fun to me. In fact I’ve never thought of GitHub as “fun”.
I need GitHub as a tool. If pragmatism and UX is ever affected for the sake of “engaging” me into social aspects, I would move my repos. I hear GitLab is great.
I have used github for years and I have never even realized there was a system of trends/top lists. To me, Github is Amazon S3 for source code and issues!
Quote: "After a lot of reflection, I believe the turning point was when they changed how the ranking system on the Trending page worked."
The turning point was the second it was sold to Microsoft. People fail to realize GitHub is Microsoft now and Microsoft is a corporation. And what corporations do best? Earn money for their shareholders. Everything else is just dust in eyes.
If anybody ever thought of fun while using git, I would probably think that that person is a masochist. It's a tool for work.
It's actually a shame that git won over all the other DVS, because I used to find mercurial much more approachable and a lot easier to use. Mercurial maybe could be called fun, but definitely not git.
I don’t get the sarcasm. GitHub, the website, where you make pull requests, issues, discuss them, explore forks and other projects, see their activity and connect to other developers. All very tangential to git.
If you never used any of that it’s fine, though you missed out on a very nice side of OSS.
People here forget that Microsoft had its own code repository app which I forgot the name of, which was a flop then Microsoft just closed it. I wouldn't be surprised if GitHub ended up the exact same way. On the internet, there is no such thing as "too big to fail".
Most of my GH interaction is through my desktop system, not a browser (pushing and pulling checkouts).
I’ve been using some form of source control for nearly 30 years (since Projector, in the 1990s). It’s a tool. A very, very important tool.
I appreciate many of the “glossy” features of GH, like hero images and GH Pages, but this shows how “out of touch” I must be, because I have never considered it to be a social venue or competitive arena.
It’s just a place I keep my code. I’m quite grateful for it.