The people at Zig should use proper CI tools and not something that a big service provider is offering as an afterthought.
One of the nice things about switching to Forgejo Actions is that the runner is lightweight, fast, and reliable - none of which I can say for the GitHub Actions runner. But even then, it's still more bloated than we'd ideally like; we don't need all the complexity of the YAML workflow syntax and Node.js-based actions. It'd also be cool for the CI system to integrate with https://codeberg.org/mlugg/robust-jobserver which the Zig compiler and build system will soon start speaking.
So if anything, we're likely to just roll our own runner in the future and making it talk to the Forgejo Actions endpoints.
Now that zig is fairly well known and trusted, it makes sense that this is less of a concern for them when migrating away.
Compared to then this product is downright mature now. And also, there always were people at GitHub who delivered crappy products outside the core that most people working on FOSS got to see. Enterprise Cloud has a ton of sharp edges and things that make you ask "WHY" out loud. Notifications with SAML enabled are broken in countless ways (I have 0 out of 12 notifications right now), newly onboarded users are encouraged to click a "request copilot" button that sends emails to admins you can't disable, policy toggles that used to do one thing get split up and not defaulted properly. The last two in particular are just dark pattern hacks to get people to use Copilot. In an enterprise product.
I haven't used GHES, but I imagine it's worse.
Tooling support can be miserable when you had something in BitBucket, GitLab, and non-existent if isn't those top 3.
CI/CD is not good on GH either.
At this point the problem is discovery. With a federated search engine the actual forge host would not be an issue anymore.
In a big org and in an acquisition, the best engineers coming from that acquisition will find that they will have more impact elsewhere.
This is wrong, that is the current maintainer. Jorge Arellano Cid is the creator of Dillo.
Most open source projects talk about reducing GitHub dependency but never actually do it because the switching costs are brutal. Issues, PRs, CI integrations, contributor muscle memory - it all adds up. Codeberg is solid but the network effects aren't there yet.
Curious whether this pushes other projects to at least have contingency plans. The AI training concerns are real, but I suspect the bigger long-term risk is just platform enshittification in general - feature bloat, performance degradation, mandatory upsells.
the self hosted runner host is some horrific dotnet csharp mono monstrosity and "language" is some javascript wrapper nonsense that needlessly creates a half baked dsl around running basic shell commands.
it has a pretty ui, but that's about it.
Edit: Scrolling comments I see something called Codeberg but why am I getting connection refused?
Another edit: Oh because Codeberg is down. I had to look at another thread on the frontpage to find that out...
> [2025-11-27T02:10:07Z] it’s abundantly clear that the talented folks who used to work on the product have moved on to bigger and better things, with the remaining losers eager to inflict some kind of bloated, buggy JavaScript framework on us in the name of progress [1]
> [2025-11-27T14:04:47Z] it’s abundantly clear that the talented folks who used to work on the product have moved on to bigger and better things, with the remaining rookies eager to inflict some kind of bloated, buggy JavaScript framework on us in the name of progress [2]
> [2025-11-28T09:21:12Z] it’s abundantly clear that the engineering excellence that created GitHub’s success is no longer driving it [3]
---
1: https://web.archive.org/web/20251127021007/https://ziglang.o...
2: https://web.archive.org/web/20251127140447/https://ziglang.o...
3: https://web.archive.org/web/20251128092112/https://ziglang.o...
All in one, that's why developers like it so much. The obsession with AI makes me nervous, but the advantages still outweigh, as for me, the average developer. For now.
Nov 22, 2025 https://blog.codeberg.org/letter-from-codeberg-onwards-and-u...
Quotes from their website:
Infrastructure status [...] We are running on 3 servers, one Gigabyte and 2 Dell servers (R730 and R740).
Here's their current hardware: https://codeberg.org/Codeberg-Infrastructure/meta/src/branch...
[...] Although aged, the performance (and even energy efficiency) is often not much worse than with new hardware that we could afford. In the interest of saving embodied carbon emissions from hardware manufacturing, we believe that used hardware is the more sustainable path.
[...] We are investigating how broken Apple laptops could be repurposed into CI runners. After all, automated CI usage doesn't depend on the same factors that human beings depend on when using a computer (functioning screen, speakers, keyboard, battery, etc.). If you own a broken M1/M2 device or know someone who does, and believe that it is not worth a conventional repair, we would be happy to receive your hardware donation and give it a try!
[...] While it usually holds up nicely, we see sudden drop in performance every few days. It can usually be "fixed" with a simple restart of Forgejo to clear the backlog of queries.
Gives both early-Google as well as hackerspace vibes, which can or can not be a good thing.
What does this mean for the Zig project? I haven't heard of Codeberg, they may be great, but for a popular open-source project I'd expect a proper discussion before deciding to move or weighing the pros and cons of different hosting options. From what I'm hearing, Zig is technically excellent but seems to lack level‑headed, mature leadership. That's not unique: many open‑source projects started by brilliant engineers struggle as they grow and need a new leadership structure. That transition can be painful and could even harm adoption.
I guarantee that in ~24 months, most AI features will still remain in some form or another on most apps, but the marketing language of AI-first will have evaporated entirely.
Right now github is great for discovering and tracking projects, reflecting growth via the star and fork system (although a bit broken in the last few years).
If a federated layer is applied to these github alternatives, you could have an account in Codeberg, and be able to track lots of projects wherever people want to host them. Right now, I see a lot of forgejo servers, but I don't want to register in all of them.
Single ~6mb executable, blazing fast. I've been a happy user for years.
I think the bigger problem is that these big megacorporations control so much. I find Google even more problematic than Microsoft these days in that regard. AI worsens this problem, but even without AI it already was a problem.
Migrating the main Zig repository from GitHub to Codeberg - 883 comments
it makes me sad to see that github is now going through the same shit, and people are using other random half-ass alternatives, it’s not easy to keep track of your favourite open-source projects across many source forgeries. we need someone to buy github from Microsoft and remove all the crap they have added to it.
This one is almost a one-line change (technically they need an extra flag in the YAML but that's hardly difficult): https://github.com/orgs/community/discussions/12882#discussi...
That said, I still think Github is fine, and you can't argue with free CI - especially on Windows/Mac. If they ever stop that I'll definitely consider Codeberg. Or if Codeberg gets support for stacked PRs (i.e. dependencies between PRs), then I'm there! So frustrating that Github doesn't support such an obvious workflow.
done.
Same effect at play watching all the top-tier AI corps under heavy competitive fire still, trying hard to keep the audience attached while battling to stay on top of (or keep up with) the competition. This mainly (for now) benefits the user. If OpenAI were to trailblaze on their own, we'd all be paying through the roof for even the most basic GPT by now.
The Zig attitude towards AI usage is a bit odd in my view. I don't think it's that widely shared. But good for them if they feel strongly about that.
I'm kind of intrigued by Codeberg. I had never heard of it until a few days ago and it seems like that's happening in Berlin where I live. I don't think I would want to use it for commercial projects but it looks fine for open source things. Though I do have questions about the funding model. Running all this on donations seems like it could have some issues long term for more serious projects. Moving OSS communities around can be kind of disruptive. And it probably rules out commercial usage.
This whole Github is evil anti-capitalist stance is IMHO a bit out of place. I'm fine with diversity and having more players in the market though; that's a good thing. But many of the replacements are also for profit companies; which is probably why many people are a bit disillusioned with e.g. Gitlab. Codeberg seems structured to be more resilient against that.
Otherwise, Github remains good value and I'm getting a lot of value out of for profit AI companies providing me with stuff that was clearly trained on the body of work stored inside of it. I'm even paying for that. I think it's cool that this is now possible.
Companies with heaps of cash are (over)paying "software engineers" to create and maintain it
Millions of people, unable to disable it, are "active users"
When I use Github servers I only use them to download source code, as zipballs or tarballs. I don't run any JS
The local forward proxy skips the redirects when downloading
http-request set-path %[path,regsub(/blob/,/raw/,g)] if { hdr(host) github.com }
http-request set-path %[path,regsub(/releases/tag/,/releases/expanded_assets/,g)] if { hdr(host) github.com }
Works for meGitHub's evolution as a good open source hosting platform stalled many years ago. Its advantages are its social network effects, not as technical infrastructure.
But from a technology and UX POV it's got growing issues because of this emphasis, and that's why the Zig people have moved, from what I can see.
I moved my projects (https://codeberg.org/timbran/) recently and have been so far impressed enough. Beyond ideological alignment (free software, distaste for Microsoft, want to get my stuff off US infrastructure [elbows up], etc.) the two chief advantages are that I could create my own "organization" without shelling over cash, and run my own actions with my own machines.
And since moving I haven't noticed any drop in engagement or new people noticing the project since moving. GitHub "stars" are a shite way of measuring project success.
Forgejo that's behind Codeberg is similar enough to GitHub that most people will barely notice anyways.
I'm personally not a fan of the code review tools in any of them (GitLab, Foregejo, or GitHub) because they don't support proper tracking of review commits like e.g. Gerritt does but oh well. At least Foregejo / Codeberg are open to community contribution.
It might be great for single person projects, which I guess is fine for hobby stuff, but unless you luck out like Richard Hipp and manage to become a well-paid hermit working in a effectively-one-person cathedral model, then it's not really going to work for most projects.
Personal, small and medium sized projects are 99% of all projects.
Most public forge instances and web presence for open source projects have RSS feeds.
https://github.com/torvalds/linux/pulls?q=is%3Apr+is%3Aclose...
Not spending on maintenance and spending gobs on something many people don’t want is far worse. It says we have the money, we just don’t give a fuck.
It kind of does.
I used this a lot in several jobs to work in dependent tickets in advance. Just make another branch on top of the previous (a PR to the other PR branch).
People could review the child PR before the parent was merged. And it requires some less than trivial git knowledge to manage effectively, but nothing extraordinary. Any solution for stacked PRs based on git would also require it (or a custom tool).
I think I'm on their side on this one. From git perspective, it works just as I expect. Something else probably belongs to JIRA or project management instead.
Seriously though the big problem to solve will be squatters, when there are three logical places for a module to be hosted. That could create issues if you want to migrate.
I would rather have this happening after a contender to git has surfaced. Something for instance with more project tracking built in so migration were simpler.
This sounds a bit like an oxymoron. More diversity will only help the ecosystem IMHO.
They didn't, poor wording on Register part. The pull request was closed for inactivity by the bot.
We had technical problems that GitHub had no interest in solving, and lots of small frustrations with the platform built up over years.
Jumping from one enshittified profit-driven platform to another profit-driven platform would just mean we'd set ourselves up for another enshittification -> migration cycle later down the line.
No stunt here.
Every single application or webpage having its own AI integration is seriously one of the dumbest ideas in computing history (instead of separating applications and AI tools and let them work together via standardized interfaces).
"top-tier" is not a term I would use to describe Microsoft
MIT license requires attribution, which AI algorithms don’t provide AFAIK. So either (a) it’s fair use and MS can do that regardless of the license or (b) MS can’t do that. In any case, yeah, that’s not the issue Zig folks have with GitHub.
It would appear they listened to that feedback, swallowed their ego/pride and did what was best for the Zig community with these edits. I commend them for their actions in doing what's best for the community at the cost of some personal mea culpa edits.
https://news.ycombinator.com/item?id=46114083
"I think that writing style is more LinkedIn than LLM, the style of people who might get slapped down if they wrote something individual.
Much of the world has agreed to sound like machines."
> More importantly, Actions is created by monkeys ...
vs
> Most importantly, Actions has inexcusable bugs ...
I commend the author for correcting their mistakes. However, IMHO, an acknowledgement instead of just a silent edit would have been better.
Anyway, each to their own, and I'm happy for the Zig community.
Code folding is buggy. Have some functions that have inner functions or other foldable stuff like classes with methods and inside the method maybe some inner function? It will only show folding buttons sporadically, seemingly without pattern.
Also standard text editing stuff like "double click and drag" no longer properly works without issues/has weird effects and behavior. The inspection of identifiers interferes with being able to properly select text.
The issue search is stupid too, often doesn't find the things one searches for.
You must be logged in to search properly too.
Most of the functionality is tied to running that JavaScript.
In short, it shows typical signs of a platform that is more and more JavaScriptianized with bloated frameworks making things work half-assed and not properly tested for sane standard behavior.
But there is more. Their silly AI bots closing issues. "State bot". "Dependabot". All trash or half thought out annoying (mis-)features. Then recently I read here on HN, that apparently a project maintainer can edit another person's post! This reeks of typical Microsoft issues with permissions to do things and not properly thinking such a thing through. Someone internally must be pushing for all this crap.
I appreciate that Andrew and the other Zig team members are really passionate about their project, their goals, and the ideals behind those goals. I was dismayed by the recent news of outbursts which do a lot to undermine their goals. That they’re listening to feedback and trying to take the high road (despite feeling a lot of frustration with the direction industry is taking) should be commended.
Indeed. The article even links to it.
https://ziggit.dev/t/migrating-from-github-to-codeberg-zig-p...
Have people already forgotten that the ReactJS port made github slow ? https://news.ycombinator.com/item?id=44799861
The revised, politically-correct, sanitized re-framing that you apparently insist on does not convey this very important point of information.
We have freedom of speech for a reason - blunt honesty conveys important information. Passive language does not.
They sugarcoated the truth to a friendlier but less accurate soundbite is what they did.
It feels to me like people have become way too reliant on this (in particular, forcing things into CI that could easily be done locally) and too trusting of those runners (ISTR some reports of malware).
>In addition, it is best to use code navigation simply in a web browser.
I've always found their navigation quite clunky and glitchy.
IMHO the vanilla Github UI sucks for code browsing since it's incredibly slow, and the search is also useless (the integrated web-vscode works much better - e.g. press '.' inside a Github project).
> as well as a well-formed CI system with many developed actions and free runners
The only good thing about the Github CI system are the free runners (including free Mac runners), for everything else it's objectively worse than the alternatives (like Gitlab CI).
Then I think the larger point I'd make is that it's impossible to get anyone to care. We've let tech giants like MS become so large they can essentially just ignore problems with their service, and as a customer, it does not matter that you are paying for it, or how much you pay, you're essentially nothing to MS. You pay not only in the direct cost of the product, but in the indirect costs of any problem with the product will hit you; e.g., here, with VMs just spinning due to really basic bugs. But you're right, nobody ever got fired for using Github.
The big "pro" of moving to a smaller platform to me, I hope, is that they're at least incentivized to help you succeed.
One reason I think most CI scripts should just be — as much as possible — scripts, in the literal sense, is that not only promotes running them locally, it also promotes moving to other CI platforms.
Sorry to be blunt, but you've said nothing of substance. To address the actual criticism you need to explain why these specific "inexcusable bugs" they cite are excusable from your perspective. Otherwise if the whole website doesn't function for months your statement "bugs exist, fixed slower than we'd like" would also apply and be just as meaningless
On the other hand "personalized ads" is still going strong despite the entire concept being offensive.
At any rate, the feed is still available and you can reach it via browser autocomplete. I open GitHub by typing "not" in my URL bar and landing on the notifications page.
Night and day compared to something like Linear.
The primary issue with SO was that it was disconnected from the actual communities maintaining the project. A federated solution would be able to have the same network effects while handing ownership to the original community (rather than a separate SO branch of the community)
I mean, … the outages are a big part of it. But those outages also extending to taking out my own hardware (e.g., through bugs like the above consuming resources on my own compute) is just double the pain.
But as a product, it's just bad? Riddled with bugs? In no particular order:
* Artifact APIs will return garbage results during a run. Note that the APIs are separate from the GHA actions for interacting with artifacts, and the latter uses undocumented APIs, presumably b/c the documented APIs are buggy AF.
* needs.… will just return junk data, if you typo.
* Builds of actions are not cached, making them rather slow. Many GH official actions hack around this by pointing the tag/branch (e.g., @v4) at a pre-built artifact.
* The pricing is high, compared to other offerings.
* The interface is just FUBAR: e.g., stdin is a pipe, which will wreak havoc on some commands that change their behavior when piped to. stdout & stderr are pipes, which although GHA ostensibly supports colored output, this basically renders it useless.
* Jobs, steps, actions are conceptual mud. There's a few ideas, like "execute this thing" in there, but its all jumbled up/duplicated. Container settings are configured per-job, so if you want to run some steps in one container, and some in another, but in the same job, you're just going to be left out to dry.
* Secrets are hard to manage, and even harder to not leak.
* The expression language has all sorts of corners, like coerced types and functions with parse-time side-effects!.
That's just a few of the bugs I've encountered.
And there exist a lot of specialized solutions out there, where the business model is purely CI.
I think this is the natural outcome of "chasing points" mechanic inside Microsoft.
I suspect Codeberg, which is focused on free software, will frown on them. They already disallow mirroring.
Btw why not GitLab?
If you try it, don't like it then don't use it, GitHub does not force you to use GHA anyway, and moving away from GitHub due to their direction sounds like a political movement. It's like someone who stop shopping from Walmart, not because they sells bad product but because they support the Republic, then going to a local shop that sometimes close unexpectedly sound unreasonable.
(He did post a kind of vague apology in https://ziggit.dev/t/migrating-from-github-to-codeberg-zig-p..., but it's ambiguous enough that anyone who was offended is free to read it as either retracting the offending accusation, or not. This is plausibly the best available alternative for survival in the current social-media landscape, because it's at best useless to apologize to a mob that's performatively offended on behalf of people they don't personally know, and usually counterproductive because it marks you as a vulnerable victim, but the best available alternative might still tend to weaken the kind of integrity we're talking about rather than strengthen it.)
I find the fact that this painting has been hung crooked by 0.00001º: down
I find torture and mass murder: down
Clearly this is a ridiculous state of affairs. There's more gradations available than this.
Possibly coloured by my dutch culture: I think this rewrite is terrible. The original sentence was vastly superior, though I think the first rewrite (newbies to rookies) was an improvement.
The zig team is alarmed, and finds this state of affairs highly noteworthy and would like to communicate this more emotional, gut instincty sense in their words.
There's a reason humans invent colourful language and epithets. They always do, in all languages. Because it's useful!
And this rewrite takes it out. That's not actually a good thing. The fact that evidently the internet is so culturally USA-ised that any slightly colourful language is instantly taken as a personal affront and that in turn completely derails the entire debate into a pointless fight over etiquitte and whether something is 'appropriate' is fucking childish. I wish it wasn't so.
In human communication, the US is somewhat notorious in how flattened its emotional range is of interaction amongst friendly folk. One can bring anthropology into it if one must: Loads of folks from vastly different backgrounds all moving to a vast expanse of land? Given that cultural misunderstanding is extremely likely and the cost of such a misunderstanding is disastrously high, best plaster a massive smile on your face and be as diplomatic as you can be!
Consider as a practical example: Linus Torvalds' many famed communications. "NVidia? Fuck you!" was good. It made clear, in a very, very pithy way, that Linus wasn't just holding a negative opinion about the quality and behaviour of the nvidia gfx driver team at the time, but that this negative opinion was universal across a broad range of concerns and extremely so. It caused a shakeup where one was needed. All in 3 little words.
(Possibly the fact that the internet in general is even more incapable of dealing with colourful language is not necessarily the fault of USification of the internet: The internet is a lot like early US, at least in the sense that the risk of cultural misunderstanding is far higher than in face to face communications on most places on the planet).
This is not a group with community or pragmatism from the start.
Things like number of stars on a repository, number of forks, number of issues answered, number of followers for an account. All these things are powerful indicators of quality, and like it or not are now part of modern software engineering. Developers are more likely to use a repo that has more stars than its alternatives.
I know that the code should speak for itself and one should audit their dependencies and not depend on Github stars, but in practice this is not what happens, we rely on the community.
having used gerrit 10 years ago there's nothing about github's PRs that I like more, today.
> code navigation simply in a web browser
this is nice indeed, true.
> You write code, and almost everything works effortlessly.
if only. GHA are a hot mess because somehow we've landed in a local minimum of pretend-YAML-but-actually-shell-js-jinja-python and they have a smaller or bigger outage every other week, for years now.
> why developers like it so much
most everything else is much worse in at least one area and the most important thing it's what everyone uses. no one got fired for using github.
Man :| no. I genuinely understand the convenience of using Actions, but it's a horrible product.
Their reliability is not great unfortunately. Currently their 24h uptime is 89% for the main site. They are partially degraded right now.
The 14 day uptime is 98% but I think that’s actually because some of their auxiliary systems have great uptime, the main site is never that great it seems.
I would even consider that moving everything from one single point of failure to an other is not the brightest move.
I believe the correct question is "Why they are getting DDoSed this much if they are not something important?"
For anyone who wants to follow: https://social.anoxinon.de/@Codeberg
Even their status page is under attack. Sorry for my French, but WTF?
That's more of a you problem really.
> I'd expect a proper discussion before deciding to move
And you know the discussion did not happen?
Where have you been the last 15 years? However, I agree with your prediction. Coke making AI advertisements may have had cache a couple years ago, but now would be a doofus move.
$ time curl -L 'https://codeberg.org/'
real 0m3.063s
user 0m0.060s
sys 0m0.044s
$ time curl -L 'https://github.com/'
real 0m1.357s
user 0m0.077s
sys 0m0.096sMS training AIs on Zig isn't their complaint here. They're saying that Github has become a worse service because MS aren't working on the fundamentals any more and just chasing the AI dream, and trying to get AI to write code for it is having bad results.
I have no idea what the parent comment is talking about a "well-formed CI system." GitHub Actions is easily the worst CI tool I've ever used. There are no core features of GitHub that haven't been replicated by GitLab at this point, and in my estimation GitLab did all of it better. But, if I put something on GitLab, nobody sees it.
As for me, this does not negate the convenient things that I originally wrote about.
The previous popular free code hoster was Sourceforge, which eventually entered its what's now called "enshittifcation phase". Github was simply in the right place at the right time to replace Sourceforge and the rest is history.
I hate that this is perceived as generally true. Stars can be farmed and gamed; and the value of a star does not decay over time. Issues can be automatically closed, or answered with a non-response and closed. Numbers of followers is a networking/platform thing (flag your significance by following people with significant follower numbers).
> Developers are more likely to use a repo that has more stars than its alternatives.
If anything, star numbers reflect first mover advantage rather than code quality. People choosing which one of a number of competing packages to use in their product should consider a lot more than just the star number. Sadly, time pressures on decision makers (and their assumptions) means that detailed consideration rarely happens and star count remains the major factor in choosing whether to include a repo in a project.
In non-coding social circles, social proof is even more accepted. So, I think that for a large portion of codebases, social proof is enough.
They're NOT! Lots of trashy AI projects have +50k stars.
I've used Gerrit years ago, so wasn't totally unfamiliar, but it was still awkward to use when Go were using it for PRs. Notably that project ended up giving up on it because of the friction for users - and they were probably one of the most likely cases to stick to their guns and use something unusual.
I love patch stack review systems. I understand why they're not more popular, they can be a bit harder to understand and more work to craft, but it's just a wonderful experience once you get them. Making my reviews work in phabricator made my patchsets in general so much better, and making my patchsets better have improved my communication skills.
It's fine for code review in a team, not really good in GH-like "a user found a bug, fixed it, and want to send it" contribution scheme
Am I missing a truly better alternative or CI systems simply are all kind of a pita?
Every time.
Github does offer a self hosted product: GitHub Enterprise Server
1. use git or jj
2. pull-request like data lives on the network
3. They have a UI, but anyone can also build one and the ecosystem is shared
I've been considering Gerrit for git-codereview, and tangled will be interesting when private data / repos are a thing. Not trying to have multiple git hosts while I wait
I've been self-hosting it for a few years now and can definitely recommend. It has been very reliable. I even have a runner running. Full tutorial at https://huijzer.xyz/posts/55/installing-forgejo-with-a-separ....
Github
158 requests
15.56 MB (11.28 MB transferred)
Finish in 8.39s
Dom loaded in 2.46s
Load 6.95s
Codeberg
9 requests
1.94 MB (533.85 KB transferred)
Finish in 3.58s
Dom loaded in 3.21s
Load 3.31sHere are my results for what it's worth
$ time curl -o /dev/null -s -L 'https://codeberg.org'
real 0m0.907s
user 0m0.027s
sys 0m0.009s
$ time curl -o /dev/null -s -L 'https://github.com/'
real 0m0.514s
user 0m0.028s
sys 0m0.016sNever needed to run my own runner, but yes the outages are annoying.
> Artifact APIs will return garbage results during a run. Note that the APIs are separate from the GHA actions for interacting with artifacts, and the latter uses undocumented APIs, presumably b/c the documented APIs are buggy AF.
Never had an issue either I've only used the GitHub CLI to upload artifacts to releases.
> needs.… will just return junk data, if you typo.
Was not aware, but I have never typod. I'm wondering if a linter such as actionlint would catch this.
> Builds of actions are not cached, making them rather slow. Many GH official actions hack around this by pointing the tag/branch (e.g., @v4) at a pre-built artifact.
Is there not caching actions you can use?
> The pricing is high, compared to other offerings.
Try blacksmith.sh, half the price, faster and unlimited parallelisation etc.
> The interface is just FUBAR: e.g., stdin is a pipe, which will wreak havoc on some commands that change their behavior when piped to. stdout & stderr are pipes, which although GHA ostensibly supports colored output, this basically renders it useless.
I always call out to a task runner, I don't have command inside the workflow so never experienced this.
> Jobs, steps, actions are conceptual mud. There's a few ideas, like "execute this thing" in there, but its all jumbled up/duplicated.
Is it not each job has multiple steps, each step is an action?
> Container settings are configured per-job, so if you want to run some steps in one container, and some in another, but in the same job, you're just going to be left out to dry.
Yeah something you can't do, but never ran into this issue either. Ways around it, such as calling out to a script which does volume mounts and run things in a container using `docker run`. Or just cut up the problem so you don't need to and have multiple jobs or something.
> Secrets are hard to manage, and even harder to not leak.
For a personal account agreed, no way to set a secret for every repository. Recently I have been doing.
``` gh repo list --json name,owner --limit 100 | jq -r '.[] | "\(.owner.login)/\(.name)"' | while read repo; do if gh secret list --repo "${repo}" --json name | jq -e '.[] | select(.name=="EXAMPLE")' > /dev/null 2>&1; then gh secret set EXAMPLE --repo "${repo}" --body "${EXAMPLE}" fi done ```
> The expression language has all sorts of corners, like coerced types and functions with parse-time side-effects!.
Again I don't really have logic inside a workflow, I call out to Make or a script or something so it has never been an issue.
The Linux kernel is unlikely to get those and can survive that even if it does, but your average FOSS project can be severely damaged in terms of reputation, contribution, usage, etc., by this kind of stuff, even if you want to dismiss it as just "social media fluttering". Easier and safer just to keep things clean and clearly at one place.
In which direction? (I'd check myself but they're down...). That doesn't sound very open to me.
You first send PR#1, then PR#2 on top of the first one.
The diff for PR#1 will show dough stuff. The diff for PR#2 will show toppings in relation to dough.
People can review them asynchronously. If you merge PR#1, PR#2 will automatically target main (that's where dough went) now.
In this arrangement, I use to cross-mention the PRs by number (a link will exist in both). I also like to keep the second one draft, but that depends on the team practices.
I don't understand why you would close the second PR when the first gets merged. It should lose the dependency automagically, which is exactly what happens if you branch correctly.
I think it would've been far easier to build a decent GUI around that flow, with some email integration + a patch preview tool, rather than adding activitypub, but oh well.
Eg,metaphors that make no sense or fail to contribute any meaningful insight or extrenely cliched phrases ("it was a dark and stormy night...") used seriously rather than for self-deprecating humor.
My favorite example of an AI tell was a youtube video about serial killers i was listening to for background noise which started one of its sentences with "but what at first seemed to be an innocent night of harmless serial murder quickly turned to something sinister."
It's just much easier now for "laypeople" to also adjust their style to this. My prediction is people will get quickly tired of it (as evidenced by your comment)
Thus spake zarathustra etc etc..
You need that middle-finger-to-everyone, "let me show you how it's really done" energy to build anything meaningful. Pretty much all the great builders I can think of in tech history are/were deeply angry people.
Linux seems to be doing fine.
I wouldn't personally care either way but it is non-obvious to me that the first version would actually hurt the community.
The normalization, in fact, has been quite successful. The entire silicon valley has tacitly approved of it.
You act like people arn't being rewarded for this type of behavior.
Hahahahahahahahahahahaha...
I think developers here are probably perfectly innocent about these changes. The product mangers have to push for this integration or get replaced. This has been a theme at Microsoft for quite a while.
A reasonable person that's acting maliciously can be reasoned to stop their behavior.
An unreasonable person that's acting in good faith cannot be reasoned to stop their behavior because they are stupid.
If after attempts to reason with the unreasonable fail, it is not an insult or ad hominem attack to explain the person is acting stupidly.
That can not be absolutely true.
Companies do public announcement with the risk of getting sued left and right. Normal people chose careful words in public. In the Internet it seems different rules apply in public. Laypeople are not adjusting to corporate talk, laypeople are more and more aware of the public of the Internet and behave accordingly (most are, like in real life, mute)
These are just word games. Blurring and mixing what we mean with different words. To say what? Passion takes different forms and can be a hell of a motivator? Nobody disputes that.
There's clearly a difference between anger and love. GP was addressing that difference and recommended to focus on the healthier of the two. That's good advice.
In this case, the unnecessary insults detract from the otherwise important message, and reflect poorly on Zig. They were right to edit it.
> This week people in our community confronted me about my lifetime of not understanding emotions. My flippant attacks in emails have been both unprofessional and uncalled for.
> Especially at times when I made it personal. In my quest for a better patch, this made sense to me. I know now this was not OK and I am truly sorry. The above is basically a long-winded way to get to the somewhat painful personal admission that hey, I need to change some of my behavior, and I want to apologize to the people that my personal behavior hurt and possibly drove away from kernel development entirely.
> I am going to take time off and get some assistance on how to understand people's emotions and respond appropriately.
He took time off and he’s better now. What you call “political correctness” is what I and others call “basic professionalism”. It took Linus 25 years to understand that. I can only hope that the people who hero worshipped him and adopted a similar attitude can also mature.
Not at all, but this reads like childishness rather than political correctness.
Not being a dick is quite a different thing than political correctness.
Makes me wonder how much to the mass strife and confusion of the internet is simply down to people not knowing what the words they use mean?
The Zig comments come off has highly immature, maybe because they are comments made to unknown people, calling folks losers or monkeys just crosses some line to me. Telling someone to stfu is not great but calling groups of people monkeys feels worse.
Also, Torvalds was rightfully called out on his public behaviour and he's corrected himself.
Not to say their implementation doesn't suck. I just wouldn't know because even a non-buggy one would probably still be a subpar experience.
I don't think there's really an obligation to announce to newcomers, "hey, an earlier version of this post was overly inflammatory." But you should be forthright about your mistake to people who confront you about it, which is what's happening in the forum thread you linked. I think this is all fine.
If everyone is always bad regardless if they're trying to change, what incentives would they have from changing at all? It doesn't make any sense.
The reason why the latter stance is often popularized and cheered is because it is often harder to do, especially in the adverse conditions, when not changing your opinion has a direct cost of money or time or sanity or in rare cases even freedom. Usually it involves small human group or individual against a faceless corporation, making it even harder. Of course we should respect people standing against corporation.
PS: this is not applicable if they are "clearly wrong" of course.
If no one hates what you are doing chances are you're not doing anything really
Because this plays into a weird flaw in cognition that people have. When people become leaders because they are assholes and they are wrong, then after the wind blows the other way they see the light and do a mea culpa, there is always a certain segment that says that they're even more worthy to be a leader because they have the ability to change. They yell at the people who were always right that they are dogmatic and ask "why should people change their minds if they will be treated like this?"
If one can't see what's wrong with this toy scenario that I've strawmanned here, that's a problem. The only reason we ever cared about this person is because they were loud and wrong about everything. Now, we are expected to be proud of them because they are right, and make sure that they don't lose any status or position for admitting that. This becomes a new reason for the people who were previously attacking the people who were right to continue to attack the people who were right, who are also now officially dogmatic puritans whose problem is that they weren't being right correctly.
This is a social phenomenon, not a personality flaw in these leaders. People can be wrong and then right. People can not care either way and latch onto a trend for attention or profit, and follow it where it goes. I don't think either of these things are in and of themselves morally problematic. The problem is that there are people who are simply following individual personalities and repeating what they say, change their minds when that personality changes their mind, and whose primary aim is to attack anyone who is criticizing that personality. They don't really care about the issue in question (and usually don't know much about it), they're simply protecting that personality like a family member.
This, again, doesn't matter when the subject is stupid, like some aesthetic or consumer thing He used to hate the new Batman movies but now he says that he misunderstood them; who cares. But when the subject is a real life or death thing, or involves serious damage to people's lives and careers, it's poisonous when a vocal minority becomes dedicated to this personality worship.
It's so common that there now seems to be a pipeline of born-agains in front of everything, giving their opinion. Sir, you were a satanist until three years ago.
much better to put a colon in a filename, or call part of your toolchain "aux.exe"
https://help.interfaceware.com/v6/windows-reserved-file-name...
works like a treat
He represented his community with insulting words to the world. In higher ranks of IT it is all about communication. With his lack of proper words he showed these leaders, who decide about the adoption of Zig, that they do not want to communicate with him/the Zig community.
As a project/tech leader he is in the business of communications. He recognized this. See link in the article.
Eager to do what? If it sucks it sucks, but that's a very childish way to frame it, no one did anything on purpose or out of spite. That kind of silliness hurts the image of the project. But bad translation I suppose.
With online mobs, when the target shows any sort of regret there is blood in the water and the sharks feast. It sometimes turns into a very public form of struggle session for the person under scrutiny. Besides avoiding the faux pas in the first place, one well-tested mitigation is to be absolutely unapologetic and wait for the storm to blow over.
The trouble there, of course, is that the motivation for changing (or not changing) one's mind is not always clear, and it's easy to score points from spinning it one way or another.
This is tangential to the original topic of insider trading, where the corruption is structural / systemic -- akin to how "conflict of interest" objectively describes a scenario, not an individual's behavior.
Those people don’t exist. Which is exactly why the ability to change your opinion when presented with new information is a critical quality in a good leader.
Except we cared about Andrew Kelley because he was right about quite a lot of things (eg the zig design).
There's a reason humans invent colourful language and epithets. They always
do, in all languages. Because it's useful!
I have never liked the mob of people that think we should all be super
diplomatic corpospeakers who hedge everything and who think that not doing
so is "offensive" or "unprofessional".
Agreed with you and OP. More to the point, the final rewrite leaves out any meaningful why. Perhaps they could/should be more diplomatic about their distaste, but leaving it out all together leaves quite the elephant in the room.Then again the front end rewrite (which GitHub was crowing about for quite a while) and doubling down on AI nonsense got me to stop using GH for personal projects and to stop contributing to projects hosted on GH.
The people that got yelled at didn't do markedly better after getting yelled at, but they sure had a worse attitude towards their peers and chefs.
None of the chefs I talked to about it had anything better than "that's how it was when I started in kitchens" as actual justification.
What is the anger that arises from you when one you care for is hurt because of some violence or injustice? Is that not an expression of love?
What is that particular anger you can feel towards a romantic life partner of many years? One that can only be based in an already profound intimacy, in some deep fidelity? Don't you feel that same love you have always felt for them, but in a different color?
What is the anger you feel when you see grand injustices? Hate crimes, genocides, crimes against freedom.. Isn't that something like a humanistic love?
To make love simply the "healthier" option is to totally destroy it! It makes it, like, at best a pragmatic maxim and at worst a weird kind of imperative (we should be healthy after all..). But love is not an imperative, it's a (beautiful, amazing, natural) condition. And it is not always "healthy," not always without anger, but always "good" in that you can't go wrong following it.
https://lore.kernel.org/lkml/CAHk-=wjLCqUUWd8DzG+xsOn-yVL0Q=...
Or being intentionally misled about them. People who enjoy being awful in various ways have a vested interest in reframing the opposition as "political correctness" in order to make it easier to dismiss or ridicule. The vast majority of usage of the term "political correctness" is in dismissing or ridiculing it.
Prefer a blunt, honest dick over a passive, polite liar anyday.
> I often find we don't appreciate enough people accepting their failures and changing their mind. For some reason I see the opposite: people respecting those who "stick to their guns" or double down when something is clearly wrong.
Not this specific situation.
It is almost like getting someone else to proofread it since my mind isn’t as good at filling in the blanks like it is when looking at the code in the editor I wrote it in.
1. Free hosting with decent UX
2. Social features
3. Lifecycle automation features
In this vein, it doing new stuff with AI isn't out of keeping with its development path, but I do think they need to pick a lane and decide if they want to boost professional developer productivity or be a platform for vibe coding.And probably, if the latter, fork that off into a different platform with a new name. (Microsoft loves naming things! Call it 'Codespaces 365 Live!')
You can donate here: https://donate.codeberg.org/
Setup recurring donations on liberapay: https://liberapay.com/codeberg/donate
Or join as a member here: https://join.codeberg.org/
There are a few things that keep me on Gitlab, but the main one is the quality of the CI/CD system and the gitlab runners.
I looked at Woodpecker, but it seems so docker-centric and we are, uh, not.
The other big gulf is issues and issue management. Gitlab CE is terrible; weird limitations (no epics unless you pay), broken features, UX nightmares, but from the looks of it Forjego is even more lacking in this area? Despite this seeming disdain, the other feature we regularly use is referencing issue numbers in commits to tie work together easily. On this one, I can see the answer as "be the change - contribute this to Forgejo" and I'm certainly willing. Still, it's currently a blocker.
But my hopes in putting this comment out there is that perhaps others have suggestions or insight I'm missing?
An issue with comments, linked to a PR with review comments, the commit stack implementing the feature, and further commits addressing comments is probably valuable data to train a coding agent.
Serving all that data is not just a matter of cloning the repo. It means hitting their (public, documented) API end points, that are likely more costly to run.
And if they rate limit the scrappers, the unscrupulous bunch will start spreading requests across the whole internet.
I think it's not malice, but stupidity. IoT made even a script kiddie capable of running a huge botnet capable of DDoSing anything but CloudFlare.
On Github any page loads gradually and you don't see a blank page even initially.
Check out Sourcehut (https://sourcehut.org/). It uses a mailing list-based workflow so contributing code or bug reports is relatively effortless and doesn't require a Sourcehut account.
might just do it federated way of "here is my domain, here is DNS entry pointing to my identity server to talk with", that way it isn't even tied to single identity service, but a given user will need to use only single login for all of the servers.
https://github.com/ziglang/www.ziglang.org/commit/c8d046b288...
Acknowledgement of mistakes do not invoke much of a mob reaction unless there is wavering, self-pity, or appeals for leniency. Self-preservation should be assumed and not set as a goal -- once you appear to be doing anything that can be thought of as covering up or minimizing or blaming others, the mob will latch on to that and you get no consideration from then on.
I'm not convinced that the existence of a low-probability event justifies normalizing the regular occurrence of a much more likely (and negative) event, like a belligerent engineer throwing a fit in a design meeting. I'd go as far as to say I'm open to more people-pleasers in engineering.
Also, fwiw, if you want to know why someone changed their mind, you can just ask them and see how you feel about the answer. If someone changes their mind at the drop of a hat, my guess is that their original position was not a strongly held one.
It’s not particularly relevant (to me as a random non-zig affiliated HN reader) why they right their wrongs, as long as they did it, I find it positive (at least better than if they had left the monkey comments in the post).
Of course you are right and it was distasteful but I'm sure they genuinely felt that way when they first wrote it.
not work with every windows text editor
Last I checked both Visual Studio Code and Notepad++ can both make line endings configurable. That covers a plurality of use cases. Even the built-in Notepad supports using CR or LF only for going on eight years now.That wouldn't have happened if they hadn't derided whatever idiot decision makers thought it was acceptable in the first place.
You are playing around with words to pretend they are the same. That's very poetic and dramatic, but I hope you realize that love is not the same as anger, and that neither truly requires the other.
If done right, love can eat anger. If done wrong, anger will eat love, and much more. These outcomes are not the same. That's were the game gets serious, and that's why I'm being such an ass about what you wrote.
It's been years through and the ease of doing simple things is not always indicative of difficult things. Often quite the contrary...
Facebook has been on that path for well over a decade, and it shows. The service itself is absolute garbage. Users stay because everyone they know is already there and the groups they love are there, and they just tolerate being force-fed AI slop and being monitored. But Facebook is not GROWING as a result, it's slowly dying, much like it's aging userbase. But Facebook doesn't care because no one in charge of any company these days can see further than next quarter's earnings call.
The metrics you want are mostly ones they don't and can't have. Number of dependent projects for instance.
The metrics they keep are just what people have said, a way to gameify and keep people interested.
And for those who don’t remember SourceForge, it had two major problems in DevEx: first you couldn’t just get your open source project published. It had to be approved. And once it did, you had an ugly URL. GitHub had pretty URLs.
I remember putting up my very first open source project back before GitHub and going through this huge checklist of what a good open source project must have. Then seeing that people just tossed code onto GitHub as is: no man pages, no or little documentation, build instructions that resulted in errors, no curated changelog, and realizing that things are changing.
That's not accurate. They more or less only use Gerrit still. They started accepting Github PRs, but not really, see https://go.dev/doc/contribute#sending_a_change_github
> You will need a Gerrit account to respond to your reviewers, including to mark feedback as 'Done' if implemented as suggested
The comments are still gerrit, you really shouldn't use Github.
The Go reviewers are also more likely than usual to assume you're incompetent if your PR comes from Github, and the review will accordingly be slower and more likely to be rejected, and none of the go core contributors use the weird github PR flow.
codeberg supports logging in with GitHub accounts, and the PR interface is exactly the same
you have nothing new to learn!
I get that it got the job done and was standard at one point, but every single Jenkins instance I've seen in the wild is a steaming pile of ... unpatched, unloved, liability. I've come to understand that it isn't necessarily Jenkins at fault, it's teams 'running' their own infrastructure as an afterthought, coupled with the risk of borking the setup at the 'wrong time', which is always. From my experience this pattern seems nearly universal.
Github actions definitely has its warts and missing features, but I'll take managed build services over Jenkins every time.
Tangled (2024, ATP)
Radicle (2019, IPFS)
Codeberg (2018, Gitea fork which supports decentralized protocols)> in the past 48 hours, code.qt.io has been under a persistent DDoS attack. The attackers utilize a highly distributed network of IP addresses, attempting to obstruct services and network bandwidth.
https://lists.qt-project.org/pipermail/development/2025-Nove...
That's not how threat analysis works. That's a conspiracy theory. You need to consider the difficulty of achieving it.
Otherwise I could start speculating which large NAS provider is trying to DDoS me, when in fact it's a script kiddie.
As for who would have the most incentives? Unscrupulous AI scrapers. Every unprotected site experiences a flood of AI scrapers/bots.
Now, all the servers I run has no public SSH ports, anymore. This is also why I don't expose home-servers to internet. I don't want that chaos at my doorstep.
https://en.wikipedia.org/wiki/AI_winter
Early 2010s had a lot of neural networks AI stuff going on and it certainly became a minor hype cycle as well though that kind of resulted in the current LLM wave.
You can also run a Forgejo instance (the software that powers Codeberg) locally - it is just a single binary that takes a minute to setup - and setup a local mirror of your Codeberg repo with code, issues, etc so you have access to your issues, wiki, etc until Codeberg is up and Forgejo (though you'll have to update them manually later).
From their FAQ:
> Why can't I mirror repositories from other code-hosting websites?
> Mirrors that pull content from other code hosting services were problematic for Codeberg. They ended up consuming a vast amount of resources (traffic, disk space) over time, as users that were experimenting with Codeberg would not delete those mirrors when leaving.
> A detailed explanation can be found in this blog post.[1]
[1]: https://blog.codeberg.org/mirror-repos-easily-created-consum...
The problem is the diff for PR#2 will show dough and toppings all mixed together. Unless you go into the commits view, but that's super tedious and it's easy to lose comments in there.
It's kind of frustrating because there's very little required to make this work. All you really need is for Github to detect `Depends on #1` like it detects `Fixes #123`, and then a) use the HEAD of #1 as the diff based for #2, and b) block merging #2 until #1 is merged.
It's really not that complicated but I'm not holding my breath.
I wish I could say this.
But unfortunately delaying your big PR until it's affecting schedule is a good way to dodge review.
I've spent more than a month trying to delete my account on GitHub, still couldn't do it
I was thinking of things like AI-generated patches submitted by Bun to the Zig project, or feature requests by Bun for AI-specific use cases... that could create a really bad atmosphere between Zig and Bun people if the Zig Foundation continuously rejects their contributions/requests/discussions.
The big reason I recall was that GitHub provided free public repos and limited private, while BitBucket was the opposite.
So if you primarily worked with open-source, GitHub was the better choice in that regard.
But VCS has always been a standard-preferring space, because its primary point is collaboration, so using something different creates a lot of pain.
And the good ship SS Linux Kernel was a lot of mass for any non-git solution to compete with.
And yes "we can't be arsed to patch it till it's problem" is pretty much standard for any on-site infrastructure that doesn't have ops people yelling at devs to keep it up to date, but that's more SaaS vs onsite benefit than Jenkins failing.
You can take this a setup furthur and use an environment manager to removing the installing of tools from CI as well for local/remote consistency and more benefits.
Is this not what you want?
https://docs.github.com/en/actions/how-tos/write-workflows/c...
> You just have github-runner-1 user and you need to manually check out repository, do your build and clean up after you're done with it. Very dirty and unpredictable. That's for self-hosted runner.
Yeah checking out everytime is a slight papercut I guess, but I guess it gives you control as sometimes you don't need to checkout anything or want a shallow/full clone. I guess if it checked out for you then their would be other papercuts.
I use their runners so never need to do any cleanup and get a fresh slate everytime.
I'm more interested in gerrit/git-codereview for stacked commits than jj. A couple extra commands for new folks, not a completely new tool and lexicon
It is easy to administer even for 15k users, and mostly it takes care of itself if you give it enough RAM and CPU for all the activity.
Downloading the virtual hard drive image from GitHub is easy and decrypting the code inside is borderline trivial, but I'm not going to help anyone do that. I've never had a need to do it.
As a server product it is good. I recommend it if you can afford it. It is not intended for private individuals or non-profits, though. It's for corporations who want their code on-premise, and for that it is quite good.
Story time:
I remember that back in the day I had a domain name for a pretty hot keyword with a great, organic position in Google rankings. Then someday it got all of a sudden serious boost from black-SEO, with a bazillion links from all kinds of unrelated websites. My domain got penalized and dropped of from the front page.
> it is just a single binary that takes a minute to setup - and setup a local mirror of your Codeberg repo with code, issues, etc so you have access to your issues, wiki, etc
is really cool! Having a local mirror also presumably gives you the means to build tools on top, to group and navigate and view them as best works for you, which could make that side of the process so much easier.
> you'll have to update them manually later
What does the manually part mean here? Just that you'll have to remember to do a `forgejo fetch` (or whatever equivalent) to sync it up?
PR#2 will show only what changed between dough and toppings.
If you merge it, it will become part of PR#1. You turned the dependency into a single block.
So, if you don't want to mix, you should merge the dependency (dough) first to main (or whatever is your target).
Codeberg probably also supports the same thing, it's a git thing not a GitHub thing. That's why I'm saying it works exactly as expected. Git alone already supports dependencies, and GitHub just follows it.
To block the merge, you can make a workflow that turns PRs with dependencies into drafts. However, as it is a merge from one PR into another, I don't see the reason to. You can easily de-merge them if you need.
From the looks of it, it seems that you are branching at the wrong point, and creating two PRs to main, one of them containing duplicates. That's not what I suggested.
I thought I made a fairly innocuous point, I don't even think I was talking about engineers specifically.
> The greatest thing about this man is he's steady. You know where he stands. He believes the same thing Wednesday that he believed on Monday, no matter what happened Tuesday. Events can change; this man's beliefs never will.
1) People don't really vote based on logic and sound reasoning. They vote based on what sounds right to them. If they're unhappy with something, they vote for somebody who also claims to be unhappy about it, regardless if he has any actual solutions.
2) Even for the minority who wants to vote based on sound principles, it's very hard to push information back to them. If the politician changes his mind, he has to explain it to his voters. Are there really platforms which allow in-depth conversations in political debates?
Every university classroom has a whiteboard and a projector. Because you need to draw graphs, diagrams, etc. You need to explain the general structure and then focus on the details without losing track of the whole.
Is there a single country where politicians use either when talking to each other or voters?
I assume you'll choose to dismiss those who object as fragile birds... but then you don't really care about the productivity towards the goal then do you? You just want to be ok with being mean because it doesn't bother you.
You haven't given any actual reasons this makes sense, if you don't like windows why would you be using it in the first place? Why would you care what text editor people use?
Why would it be ok to release something on a platform just to annoy your own users?
Old Notepad support should not be a priority for a language implementer. Get a real text editor, they're varied and plentiful. This was always a non-issue drudged up by nobody actually interested in using Zig and so it was rightfully ignored.
This is the same nonsense rationalizations that zig gave. Windows is the odd man out. If you want to release something on windows you match an extra byte on the ends of lines. It isn't that hard and even the simplest toy language does it. It's just part of line splitting, it isn't even something that happens at the language stage.
Last I checked both Visual Studio Code and Notepad++ can both make line endings configurable.
Last time I checked it was totally unnecessary because no other language releases for a platform and tries to punish their users. Options like that are to make files match while being worked on for different platforms, not so that a compiler doesn't try to punish and troll its users for using it.
But even if that wasn't true. There's a significant difference between confronting the harshness of reality. And behaving in a way that makes reality suck more. Every human deserves to be treated with dignity, and a base level of respect.
Suggesting that someone is fragile and weak, because they object to being insulted, or object to the careless and needless stripping of dignity and humanity from people is a wild take.
But this is really heady woowoo stuff at this point, and its quite ok to disagree on stuff of this sort! I understand you will probably continue to dismiss all this as sophistry or playing with words or whatever, but know either way that I do recognize and respect your point here! It can probably be seen as a choice: love can be a desirable state or a dramatic raison d'etre. For the former, you're probably a pretty happy monk/stoic type, for the other, you're more like the classic Romantic, the artist, etc.
All these things are a proxy for popularity and that is a valuable metric. I have seen projects with amazing code quality but if they are not maintained eventually they stop working due to updates to dependencies, external APIs, runtime environment, etc. And I have see projects with meh code quality but so popular that every quirk and weird issue had a known workaround. Take ffmpeg for example: its code is.. arcane. But would you choose a random video transcoder written in JavaScript just due to the beautiful code that was last updated in 2012?
I've always done it that way, and never got that feeling.
A competent developer would be more likely to send a PR using the tool with zero friction than to dedicate a few additional hours of his life to create an account and figure out how to use some obscure.
I can refer you to some github repositories with a low number of stars that are of extraordinarily high quality, and similarly, some shitty software with lots of stars. But I'm sure you get the point.
GH's PR system is semi-tolerable for open source projects. It's downright broken for commercial software teams of any scale.
Like the other commenter: I miss Gerrit and proper comment<->change tracking.
To avoid needing SSH just send your logs and metrics out and do something to autodeploy securely then you rarely need to be in. Or use k8s :)
all my services are always exposed for convenience but never on a standard port (except http)
Because one person is judging that "terribleness" before being entitled to flame, changes to that person influence their ability to objectively make that assessment.
Say, when their project becomes popular, they gain more power and fame, and suddenly their self-image is different.
Hence it usually being a more community-encouraging approach to keep discussions technical without vitriol.
Flaming is unnecessarily disruptive, not least because it gives other (probably not as talented) folks a license to also put their worst impulses to text.
Most likely, dedication says little about competence, and vice versa. If you do not want to use the tools available to get something done and rather not do the task instead, what does that say about your competence?
I'm not in a position to know or judge this, but I could see how dedication could be a useful proxy for the expected quality a PR and the interaction that will go with it, which could be useful for popular open source projects. Not saying that's necessarily true, just that it's worth considering some maintainers might have anecdotal experiences along that line.
hopefully codeberg can build on it, and have an "advanced" option
- the internet's a lot bigger nowadays
- there are a lot of crappily secured iot devices
- the average household internet connection has gotten a lot faster, especially on upload bandwidth.
- there's a pile of amplification techniques which can multiply the bandwidth of an attack by using poorly-configured services.
After managing a fleet for a long time, I'd never do that. Tailscale or any other VPN is mandatory for me to be able to access "login" ports.
Kubernetes for personal infrastructure is akin to getting an aircraft carrier for fishing trips.
For simple systems snapshots and backups are good enough. If you're managing a thousand machine fleet, then things are of course different.
I manage both so, I don't yearn to use big-stack-software on my small hosts. :D
Either you should know your tool well enough to turn it off, or tools shouldn't make obscure changes to the output that the user did not specify, either way Zig is absolutely correct in not allowing for either case, I wasn't aware of this but it makes me even more convinced of their principles.
The expurgation of "losers" less so.
If you want to release something on windows you match an extra byte on the ends of lines
Did I miss some sort of formal directive from Microsoft or is this just outrage that someone dared do something not up to your standards? try to punish and troll its users for using it
Nobody's being punished. Configuring your dev environment is something people do for every language. Let's add some perspective here: we're talking about a single runtime option for your text editor of choice. BFD. More to the point, why isn't your editor or IDE properly supporting Zig files?I'm guessing you didn't live through the early days of webdev when you had to jump through ridiculous hoops just to support IE. At least back then there was the excuse that IE had the lions share of the market and many corporate users.
The industry wide acceptance of supporting IE majorly held back what websites/apps were capable of being. Around 2012ish (right as I was leaving webdev) more and more major teams started to stop supporting earlier broken versions of IE (this was largely empowered by the rising popularity of Chrome). This had a major impact on improving the state of web applications, and also got MS to seriously improve their web browser. Moves like this one by the Zig team are the only way you're going to push Microsoft to improve the situation.
Now you may claim "but Windows is 70% of users!" but this issue doesn't impact anyone wanting to run Zig applications, only those writing them. If you're an inexperienced dev that's super curious about Zig, this type of error might be another good nudge that maybe Windows isn't the OS you want to be working on.
I agree that people should be treated with dignity...but groupthink & herd mentality often strips people of their humanity.
So the criticism is really about culture & abstract attractors...not the individual people who often act rationally within the context of the system.
"Love" is suprisingly ill-defined for the power it has. Maybe that's even part of its power: being a vague word to refer to powerful things within us to try to give them meaning, and a handle to hold them by, which then of course is also a handle that has a hold on us.
That's why, I'd say, it's important to be careful with the other words we place around that word "love", because they can illuminate or conceal, sharpen or blur, all the while gripping people by that handle.
I appreciate what you're doing to promote a better understanding of that word here and give it some context you were missing from the post you originally reacted to. Of course, "love" may mean different things to a Romantic poet or a monk or a teenager or a long-married couple; none of them are wrong, none takes away from the other, and all with some pretty messy edges, probably.
The poster you reacted to used "love" and "anger" to refer to opposing tendencies and motivations within us. You pointed out that "love" and "anger" can overlap. That's right, of course, I don't think anyone would say otherwise. I just think it's not what OP was talking about when they used these words. They used a different, albeit related, concept of love from yours, for a different purpose, relying on the difference between their chosen form of love and anger to make their point. You pointed out that things can be seen differently; that's fair.
What I do object to, though, is the conflation of anger and love. I understand what you're getting at, but I think it's important to keep these things separate and distinguishable, because it is not good to mistake anger for love, or excuse anger with love.
It may seem as if they are inextricably mixed, nothing we can do about it! But I think this is, please excuse the direct language, a little lazy and a little cheap. It's quick to use a few words to stir up some emotions and romantic notions that are sleeping in our hearts. But it opens the way to let anger reign in the name or even guise of love, which is, morals aside, not gonna lead anywhere nice at all. Romantic? Yes. Good? Bad? Ugly? We all have choices, and we should consider them.
My argument against how he handles things has always been that while it may seem effective, we do not know how much more effective he would be if he did not curse people out for being dumb fucks.
And it doesn’t seem like this is a requirement for the job: lots of other project leaders treat others with courtesy and respect and it doesn’t seem to cause issues.
The reality is that it is easy to wish more people were verbally abusive to others when it isn’t directed at you. But soon as you are on the receiving end of it, especially as a volunteer, there is a greater than not chance that you will be less likely to want to continue contributing.
For each potential adversary, you list the risk strategy; that's threat analysis 101.
E.g. you have a locked door, some valuables, and your opponent is the state-level. Risk strategy: ignore, no door you can afford will be able to stop a state-level actor.
Just research about Office formats' ISO standardization process.
I'm not insinuating MicroSoft will buy Codeberg, but I just wanted to say that, they are not foreigners to the process itself.
No, it's just opsec.
> Sure, scanners will keep pinging it, but nobody is ever going to burn an ssh 0day on your home server.
I wouldn't be so sure about it, considering the things I have seen.
I'd better be safe than sorry. You can expose your SSH if you prefer to do so. Just don't connect your server to my network.
The transferred part is for the gzipped transfer. That makes sense if the bulk of the data is HTML (I have not checked).
I’ve disabled the cache for the network requests.
> how hard it is for top performers to make change
then you're not a top performer anymore?
seems pretty straightforward
> they must be stupid
one can be not stupid and still not competent
Everyone can do that and by saying this you have already missed the point.
You think literally all windows text is "obscure changes to the output"? Have you ever used windows? All text you have ever saved has a carriage return in it.
Zig is absolutely correct in not allowing for either case
Then why does every other language, text editor and text tool in existence deal with this single extra character?
I wasn't aware of this but it makes me even more convinced of their principles.
Which are what exactly? Making a windows version that doesn't work to intentionally annoy their users?
There is no rationalization you can come up with that isn't hypocritical here unless you admit that you just like malice towards windows users, because that's all it is.
The expurgation of "losers" less so.
Who are losers here? Zig users who tried it on windows or people who know what a carriage return is?
It's just the way it works, it isn't my standards, it is literally any piece of software that detects line breaks.
Nobody's being punished. Configuring your dev environment is something people do for every language.
No one has to configure around this issue because it is trivially solved and dealt with by every piece of software on the planet. It takes longer to write an error message than it does it just split a line correctly.
Let's add some perspective here: we're talking about a single runtime option for your text editor of choice.
Let's add some perspective here: they intentionally broke their own software to upset 72% of their potential users.
More to the point, why isn't your editor or IDE properly supporting Zig files?
No one has to care about zig, it's a niche language that doesn't care about its users, it's irrelevant except for hacker news threads.
If some language started demanding you save all your text files with carriage returns or will will error out, what would you think?
You sound like a lawyer grasping at straws instead of someone with a reasonable perspective that wouldn't be hypocritical when flipped around.
you do...
> The methods for influencing results within an organization exist on a spectrum, and failing to adequately utilize the breadth of that spectrum is always counter-productive.
Or did you have a different expectation for result in mind? The one you thought would be counter-productive without insults.
My assumption was that ark wanted to put support behind codeberg, and encourage others to take a critical look at how bad github has become, and to consider other options. Not rally additional support and defense of github's actions.
No one is confused about how a compiler works. Those people being intentionally trolled are called your users when you make a language.
If you're an inexperienced dev that's super curious about Zig, this type of error might be another good nudge that maybe Windows isn't the OS you want to be working on.m
Then why did they make a windows version? Any normal person just sees that they shouldn't invest time in a language intentionally annoying it's own users for trying it out.
You still haven't come up with any explanation, your whole tangent about internet explorer has no relevance. There isn't one part of your comment that makes sense. Why would you even care about other people's OS and text editors? What kind of fanaticism would lead to wanting to use a language because they intentionally annoy users of something you aren't even involved in?
The whole thing is basically a case of "this things doesn't stand on any merits, I've just decided that I don't like certain people and they did something to upset them even though they are really just shooting themselves in the foot".
Product is useless, you move along. Save your compassion for those actually needing it.
Lowest common denominator way will always get worst quality
I don't think your comparison works out.
1. Never tell everything you know and seen.
2.
For what I do, you can refer to my profile.Evidently you did not read the original release or the top comment, but this has nothing to do with carriage return.
>Then why does every other language, text editor and text tool in existence deal with this single extra character?
On Windows, Emacs by default will save your files with linefeed and no carriage return, only when opening the file will it infer crlf, as it should.
But you're right, where possible I try to avoid Windows.
I haven’t actually used harsh language with anyone so I’m not sure what your point is. I have been on HN long enough to know that expressions of strong negative emotion are punished here. That says absolutely nothing about the effectiveness of different methods of influence within an organization.
I think if people are rallying to defend GitHub due to some language that ruffled their feathers and not objective technical merit then they have completely lost the plot as engineers.
As far as Andrew’s goals, I think he has been pretty successful within the framework of the attention economy.
You sound like a lawyer grasping at straws instead of
someone with a reasonable perspective that wouldn't be
hypocritical when flipped around.
What lawyer speak? You're throwing a temper tantrum over a situation entirely of your own making. That there's a Windows port of Zig and sufficient users to justify its continued existence pretty clearly shows your hyperbole isn't representative in the way you claim.Were I in a situation where I needed to work with something not expecting LF line termination I'd either configure my dev environment appropriately or find tools that do what I want.
No one has to care about zig, it's a niche language that doesn't
care about its users, it's irrelevant except for hacker news threads.
So when it's your tool selection nobody has to care? But when someone else makes a decision you disagree with it's the end of the world? Gotcha. Don't check that checkbox. Stay mad, bro.I'm not saying a competent developer should be proficient in using gerrit, but they should know that it isn't an obscure tool - it's a google-sponsored project handling millions of lines of code internally in google and externally. It's like calling golang an obscure language when all you ever did is java or typescript.
That's said, I believe my comparison checks out. Having ~800 members is a useful moat, and will deter actors from harming Codeberg.
OTOH, the mechanism can still theoretically work. Of course Microsoft won't try something that blatant, but if the e.V loses this moat, there are mechanisms which Microsoft can and would like to use as Codeberg gets more popular.
which is basically the same thing
I think another big "moat" is actually that Codeberg is composed of natural people only (those with voting rights, anyway). Real people have values, and since they have to actively participate in Codeberg in some way to get voting rights those values are probably aligned with Codeberg's mission. I don't actually now the details of the standardization process you cite, but I think this is a big difference to it.
Additionally, from skimming the bylaws of Codeberg I'd say they have multiple fail-safes built in as additional protection. For one, you can't just pay ~1600 people to sign up and crash a general assembly, every membership application has to be approved first. They also ask for "support [for] the association and its purpose in an adequate fashion" from its members, and include mechanisms to kick people out that violate this or are otherwise acting against Codeberg's interests, which such a hostile attack would surely qualify as.
Of course it's something to stay vigilant about, but I think Codeberg is well positioned with regard to protecting against a hostile takeover and shutdown situation, to the point that DDoS is the much easier attack against them (as was the initial topic).
Sure, they could try to bribe the Codeberg e.V. active members into changing its mission or disbanding the association entirely, but they would need to get a 2/3 majority at a general assembly while only the people actively involved in the e.V. and/or one of its projects can get voting rights. I find that highly unlikely to succeed.
You replied 5 comments deep in a thread about zig intentionally annoying users by erroring out on something simple that every other program or library on windows deals with automatically.
But you're right, where possible I try to avoid Windows.
You're backpedaling now. Originally you were trying to rationalize someone intentionally releasing a broken program to troll people.
> then they have completely lost the plot as engineers.
I think most people who would call themselves software engineers have lost the plot of engineering.
That applies equally to those who are blind to the fact that engineering only exists to create stuff for humans. Most engineers are ignorant to the ability to consider the humans they're supposedly build for.
The point is to make shit better, not worse, and not more inhuman.
Is there some kind of Google-centrism at work here? Most devs don’t work at Google or contribute to Google projects, so there is no reason for them to know anything about Gerrit.
You didn't confront anything I wrote and instead just made up something no one said. All I did say was that zig is intentionally hostile to their own users, which they are.
If you could actually deal with what I wrote I think you would have done it already.
More to the point, if someone does it once and then stops, should we exclude this person from society forever?
Remember that only the Siths deal in absolutes.
Most devs have never worked on Solaris, but if I ask you about solaris and you don't even know what it is, that's a bad sign for how competent a developer you are.
Most devs have never used prolog or haskell or smalltalk seriously, but if they don't know what they are, that means they don't have curiosity about programming language paradigms, and that's a bad sign.
Most competent professional developers do code review and will run into issues with their code review tooling, and so they'll have some curiosity and look into what's out there.
There's no reason for most developers to know random trivia outside of their area of expertise "what compression format does png use by default", but text editors and code review software are fundamental developer tools, so fundamental that every competent developer I know has enough curiosity to know what's out there. Same for programming languages, shells, and operating systems.
I was agreeing with your stance and adding my own anecdote that it’s a turnoff with the way those posts were originally formatted. Not people I would want to work with. If you do that’s fine. This is not star wars and simply my own choice as it’s everyone else.
I also cannot think of a time in my adult life I wanted to call out a group of people as losers or monkeys i n public.
I would definitely classify the tiki torch wielding white nationalists as losers publicly, for example. In fact I have a hard time thinking of a better term for them. It could also apply to the fairly famous liar and criminal, the disgraced Congressman George Santos. Or any person who decides to flash kids at a playground, or beats his wife and children.
I think the Zig guy was a little over-dramatic with his initial post. He did change his mind, so in my book that's better than not. Linus did too, just after many years of bad behavior. My point is that your replies were painting the world with only black and white and there is a lot of gray area in between. Sometimes public shame is a valid way to do discourse. Often times it isn't. But it's not a "always" or "never" thing.
You're personally aggrieved because someone dared release a compiler that runs on windows but doesn't accept non-standard line endings. I've already addressed what you've said but you've responded with a bunch of handwaving because you're merely making an emotional argument.
If you'd like me at address what you wrote again:
it takes longer to write an error message than it does it just split a line correctly
It takes longer to write your tantrums than to configure your development environment correctly.Nope
doesn't accept non-standard line endings
It is standard on windows.
I've already addressed what you've said
No you haven't. You haven't addressed anything I've said, like legitimate reasons for doing it or what you would think if other languages did the same thing on other OSs.
you're merely making an emotional argument.
Seems like projection. I wrote things that actually happened.
It takes longer to write your tantrums
I know it would be convenient to frame things this way but if you could confront what I'm saying you would have done it with all the chances you had.
Why won't you respond to what I'm saying? I think it's because there is no real defense and you know that.
> I also cannot think of a time in my adult life I wanted to call out a group of people as losers or monkeys i n public.
I guess that makes this your first time:
> Sure folks like that I can see people using descriptions like that.
All in all I think we generally agree that being respectful is better than being rude. And that some people who do not have respect also do not deserve respect. Shall we just leave it at that?
My opinion, I have no desire to work with people that write comments calling other engineers monkeys or losers. I have seen that behavior before and it’s not people I like to work with.